cuenta.CuentaAhorros.java Source code

Java tutorial

Introduction

Here is the source code for cuenta.CuentaAhorros.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package cuenta;

import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfWriter;
import interfaces.ExportarInformacion;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Result;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.w3c.dom.DOMImplementation;
import org.w3c.dom.Element;
import org.w3c.dom.Text;
import persona.Empleado;

/**
 *
 * @author EST_2F_MCB_PC21_
 */
public class CuentaAhorros extends Cuenta implements ExportarInformacion {
    private double CuotaMantenimiento;

    public double getCuotaMantenimiento() {
        return CuotaMantenimiento;
    }

    public CuentaAhorros(double CuotaMantenimiento, String cliente, String numeroCuenta, double saldo,
            double interes) {
        super(cliente, numeroCuenta, saldo, interes);
        this.CuotaMantenimiento = CuotaMantenimiento;
    }

    public void setCuotaMantenimiento(double CuotaMantenimiento) {
        this.CuotaMantenimiento = CuotaMantenimiento;
    }

    @Override
    public void toPDF() throws FileNotFoundException, IOException {

        File f = new File("CuentaAhorros.pdf");
        FileOutputStream fis = new FileOutputStream(f);
        ObjectOutputStream fob = new ObjectOutputStream(fis);
        Document documento = new Document();
        try {
            PdfWriter.getInstance(documento, fis);
            documento.open();
            documento.add(new Paragraph(this.toString()));
            documento.close();
        } catch (DocumentException ex) {
            Logger.getLogger(Empleado.class.getName()).log(Level.SEVERE, null, ex);
        }
        System.out.println("Se gener el documento PDF de la CUENTA DE AHORROS en la raz del proyecto");
    }

    @Override
    public void toExcel() {
        HSSFWorkbook workbook = new HSSFWorkbook();
        HSSFSheet sheet = workbook.createSheet();
        HSSFRow row = sheet.createRow(0);
        HSSFCell cell = row.createCell(0);
        cell.setCellValue(this.toString());
        try {
            OutputStream out = new FileOutputStream("CuentaAhorros.xls");
            workbook.write(out);
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("Se gener el documento EXCEL de la CUENTA DE AHORROS en la raz del proyecto");
    }

    @Override
    public void toXML() throws Exception {
        String name = "CuentaAhorros";
        ArrayList<String> key = new ArrayList<String>();
        ArrayList<String> value = new ArrayList<String>();

        key.add("Cuota de mantenimiento");
        value.add("" + this.CuotaMantenimiento);
        key.add("Cliente");
        value.add(super.getCliente());
        key.add("Numero cuenta");
        value.add(super.getNumeroCuenta());
        key.add("Saldo");
        value.add("" + super.getSaldo());
        key.add("Interes");
        value.add("" + super.getInteres());

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        DocumentBuilder builder = factory.newDocumentBuilder();
        DOMImplementation implementation = builder.getDOMImplementation();
        org.w3c.dom.Document document = implementation.createDocument(null, name, null);
        document.setXmlVersion("1.0");

        Element raiz = document.getDocumentElement();
        for (int i = 0; i < key.size(); i++) {
            Element itemNode = document.createElement("ITEM");
            Element keyNode = document.createElement("KEY");
            Text nodeKeyValue = document.createTextNode(key.get(i));
            keyNode.appendChild(nodeKeyValue);
            Element valueNode = document.createElement("VALUE");
            Text nodeValueValue = document.createTextNode(value.get(i));
            valueNode.appendChild(nodeValueValue);
            itemNode.appendChild(keyNode);
            itemNode.appendChild(valueNode);
            raiz.appendChild(itemNode);
        }
        Source source = new DOMSource(document);
        Result result = new StreamResult(new java.io.File(name + ".xml"));
        Transformer transformer = TransformerFactory.newInstance().newTransformer();
        transformer.transform(source, result);
        System.out.println("Se gener el documento XML de la CUENTA DE AHORROS en la raz del proyecto");
    }

    @Override
    public void toHTML() throws Exception {
        File f = new File("CuentaAhorros.html");
        FileOutputStream fis = new FileOutputStream(f);
        ObjectOutputStream fob = new ObjectOutputStream(fis);
        try {
            fob.writeObject(this.toString());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            fob.close();
        }
        System.out.println("Se gener el documento HTML de la CUENTA DE AHORROS en la raz del proyecto");
    }

    @Override
    public String toString() {
        return "CuentaAhorros {" + "CuotaMantenimiento = " + CuotaMantenimiento + '}' + " " + super.toString() + "";
    }

}