Package ar.com.AmberSoft.iEvenTask.reports

Source Code of ar.com.AmberSoft.iEvenTask.reports.TablaPDF

package ar.com.AmberSoft.iEvenTask.reports;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;

import org.apache.log4j.Logger;

import ar.com.AmberSoft.iEvenTask.utils.Tools;

import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.pdf.PdfPTable;

public class TablaPDF {
 
  private static Logger logger = Logger.getLogger(TablaPDF.class);

  private Collection celdas = new ArrayList();
  private int columnas = 1;
  private Document documento;
  List<Float> tamanioColumnas;
  private Boolean agregarADocumento = Boolean.TRUE;
 
 
  public Boolean getAgregarADocumento() {
    return agregarADocumento;
  }

  public void setAgregarADocumento(Boolean agregarADocumento) {
    this.agregarADocumento = agregarADocumento;
  }

  public List<Float> getTamanioColumnas() {
    return tamanioColumnas;
  }

  public void setTamanioColumnas(List<Float> tamanioColumnas) {
    this.tamanioColumnas = tamanioColumnas;
  }

  public TablaPDF(Document document){
    this.documento = document;
  }
 
  public int getColumnas() {
    return columnas;
  }

  public void setColumnas(int columnas) {
    this.columnas = columnas;
  }

  public void addCelda(CeldaPDF celda){
    celdas.add(celda);
  }
 
  public void addMensajeEnCelda(String key){
    CeldaPDF celda = new CeldaPDF();
    celda.addMensaje(key, null);
    addCelda(celda);
  }
 
  /**
   * Arma la tabla y la escribe en el documento
   */
  public void flush(){
    getMe();
  }

  public PdfPTable getMe() {
    PdfPTable tabla = new PdfPTable(columnas);
   
    Iterator it = celdas.iterator();
    while (it.hasNext()) {
      CeldaPDF celda = (CeldaPDF) it.next();
      tabla.addCell(celda.getMe());
    }
    try {
      if (tamanioColumnas!=null){
        float[] widths = new float[tamanioColumnas.size()];
        for (int i = 0; i < tamanioColumnas.size(); i++) {
            Float f = tamanioColumnas.get(i);
            widths[i] = (f != null ? f : Float.NaN); // Or whatever default you want.
        }
        tabla.setWidths(widths);
      }
      if (agregarADocumento.booleanValue()){
        documento.add(tabla);
      }
    } catch (DocumentException e) {
      logger.error(Tools.getStackTrace(e));
    }
    return tabla;
  }
 
}
TOP

Related Classes of ar.com.AmberSoft.iEvenTask.reports.TablaPDF

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.