cuenta.CuentaCorriente.java Source code

Java tutorial

Introduction

Here is the source code for cuenta.CuentaCorriente.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 CuentaCorriente extends Cuenta implements ExportarInformacion

{

    private double cuotaManteniemiento;
    private String chequera;
    private int numeracionInicial;
    private int numeracionFinal;

    public CuentaCorriente(double cuotaManteniemiento, String chequera, int numeracionInicial, int numeracionFinal,
            String cliente, String numeroCuenta, double saldo, double interes) {
        super(cliente, numeroCuenta, saldo, interes);
        this.cuotaManteniemiento = cuotaManteniemiento;
        this.chequera = chequera;
        this.numeracionInicial = numeracionInicial;
        this.numeracionFinal = numeracionFinal;
    }

    public double getCuotaManteniemiento() {
        return cuotaManteniemiento;
    }

    public void setCuotaManteniemiento(double cuotaManteniemiento) {
        this.cuotaManteniemiento = cuotaManteniemiento;
    }

    public String getChequera() {
        return chequera;
    }

    public void setChequera(String chequera) {
        this.chequera = chequera;
    }

    public int getNumeracionInicial() {
        return numeracionInicial;
    }

    public void setNumeracionInicial(int numeracionInicial) {
        this.numeracionInicial = numeracionInicial;
    }

    public int getNumeracionFinal() {
        return numeracionFinal;
    }

    public void setNumeracionFinal(int numeracionFinal) {
        this.numeracionFinal = numeracionFinal;
    }

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

        File f = new File("CuentaCorriente.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 CORRIENTE 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("CuentaCorriente.xls");
            workbook.write(out);
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("Se gener el documento EXCEL de la CUENTA CORRIENTE en la raz del proyecto");
    }

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

        key.add("Cuota de mantenimiento");
        value.add("" + this.cuotaManteniemiento);
        key.add("Chequera");
        value.add(this.chequera);
        key.add("Numero inicial");
        value.add("" + this.numeracionInicial);
        key.add("Numero final");
        value.add("" + this.numeracionFinal);
        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 CORRIENTE en la raz del proyecto");
    }

    @Override
    public void toHTML() throws Exception {
        File f = new File("CuentaCorriente.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 CORRIENTE en la raz del proyecto");
    }

    @Override
    public String toString() {
        return "CuentaCorriente {" + "cuotaManteniemiento = " + cuotaManteniemiento + ", chequera = " + chequera
                + ", numeracionInicial = " + numeracionInicial + ", numeracionFinal = " + numeracionFinal + '}'
                + " " + super.toString() + "";
    }

}