ar.com.fdvs.dj.core.layout
Class AbstractLayoutManager

java.lang.Object
  extended by ar.com.fdvs.dj.core.layout.AbstractLayoutManager
All Implemented Interfaces:
LayoutManager
Direct Known Subclasses:
ClassicLayoutManager, ListLayoutManager

public abstract class AbstractLayoutManager
extends java.lang.Object
implements LayoutManager

Abstract Class used as base for the different Layout Managers.

A Layout Manager is always invoked after the entities registration stage.
A subclass should be created whenever we want to give the users the chance to
easily apply global layout changes to their reports. Example: Ignore groups
and styles for an Excel optimized report.


Field Summary
protected static java.lang.String EXPRESSION_TRUE_WHEN_ODD
           
 
Constructor Summary
AbstractLayoutManager()
           
 
Method Summary
 void addStyleToDesign(Style style)
           
 void applyLayout(net.sf.jasperreports.engine.design.JasperDesign design, DynamicReport report)
          Entry point for applying a given layout.
 void applyStyleToElement(Style style, net.sf.jasperreports.engine.design.JRDesignElement designElemen)
           
protected  void endLayout()
           
protected  void ensureDJStyles()
          Sets a default style for every element that doesn't have one
protected  int findVerticalOffset(net.sf.jasperreports.engine.design.JRDesignBand band)
          Finds "Y" corrdinate value in with more elements could be added in the band
protected  void generateHeaderBand(net.sf.jasperreports.engine.design.JRDesignBand band)
           
protected  net.sf.jasperreports.engine.design.JRDesignTextField generateTextFieldFromColumn(AbstractColumn col, int height, ColumnsGroup group)
          Creates a JasperReport DesignTextField from a DynamicJasper AbstractColumn.
protected  net.sf.jasperreports.engine.design.JasperDesign getDesign()
           
protected  net.sf.jasperreports.engine.design.JRDesignGroup getGroupFromColumnsGroup(ColumnsGroup group)
           
protected  DynamicReport getReport()
           
 java.util.HashMap getReportStyles()
           
protected  java.util.List getVisibleColumns()
           
protected  void layoutCharts()
           
protected  void registerRemainingStyles()
           
protected  void setBandFinalHeight(net.sf.jasperreports.engine.design.JRDesignBand band)
          Sets the band's height to hold all its children
protected  void setBandsFinalHeight()
          Sets the necessary height for all bands in the report, to hold their children
protected  void setDesign(net.sf.jasperreports.engine.design.JasperDesign design)
           
protected  void setReport(DynamicReport report)
           
 void setReportStyles(java.util.HashMap reportStyles)
           
protected  void setWhenNoDataBand()
          Creates the graphic element to be shown when the datasource is empty
protected  void startLayout()
           
protected  void transformDetailBand()
          For each column, puts the elements in the detail band
protected abstract  void transformDetailBandTextField(AbstractColumn column, net.sf.jasperreports.engine.design.JRDesignTextField textField)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXPRESSION_TRUE_WHEN_ODD

protected static final java.lang.String EXPRESSION_TRUE_WHEN_ODD
See Also:
Constant Field Values
Constructor Detail

AbstractLayoutManager

public AbstractLayoutManager()
Method Detail

transformDetailBandTextField

protected abstract void transformDetailBandTextField(AbstractColumn column,
                                                     net.sf.jasperreports.engine.design.JRDesignTextField textField)

getReportStyles

public java.util.HashMap getReportStyles()

setReportStyles

public void setReportStyles(java.util.HashMap reportStyles)

applyLayout

public void applyLayout(net.sf.jasperreports.engine.design.JasperDesign design,
                        DynamicReport report)
                 throws LayoutException
Description copied from interface: LayoutManager
Entry point for applying a given layout.

Specified by:
applyLayout in interface LayoutManager
Parameters:
design - The deseign to be used
report - The report to show
Throws:
LayoutException

setWhenNoDataBand

protected void setWhenNoDataBand()
Creates the graphic element to be shown when the datasource is empty


startLayout

protected void startLayout()

endLayout

protected void endLayout()

registerRemainingStyles

protected void registerRemainingStyles()

ensureDJStyles

protected void ensureDJStyles()
Sets a default style for every element that doesn't have one

Throws:
net.sf.jasperreports.engine.JRException

addStyleToDesign

public void addStyleToDesign(Style style)
Parameters:
baseStyle -
Throws:
net.sf.jasperreports.engine.JRException

transformDetailBand

protected void transformDetailBand()
For each column, puts the elements in the detail band


generateHeaderBand

protected final void generateHeaderBand(net.sf.jasperreports.engine.design.JRDesignBand band)

applyStyleToElement

public void applyStyleToElement(Style style,
                                net.sf.jasperreports.engine.design.JRDesignElement designElemen)

getVisibleColumns

protected java.util.List getVisibleColumns()
Returns:

setBandsFinalHeight

protected void setBandsFinalHeight()
Sets the necessary height for all bands in the report, to hold their children


setBandFinalHeight

protected void setBandFinalHeight(net.sf.jasperreports.engine.design.JRDesignBand band)
Sets the band's height to hold all its children

Parameters:
band - Band to be resized

findVerticalOffset

protected int findVerticalOffset(net.sf.jasperreports.engine.design.JRDesignBand band)
Finds "Y" corrdinate value in with more elements could be added in the band

Parameters:
band -
Returns:

generateTextFieldFromColumn

protected final net.sf.jasperreports.engine.design.JRDesignTextField generateTextFieldFromColumn(AbstractColumn col,
                                                                                                 int height,
                                                                                                 ColumnsGroup group)
Creates a JasperReport DesignTextField from a DynamicJasper AbstractColumn.

Parameters:
AbstractColumn - col
int - height
ColumnsGroup - group
Returns:
JRDesignTextField

layoutCharts

protected void layoutCharts()

getGroupFromColumnsGroup

protected net.sf.jasperreports.engine.design.JRDesignGroup getGroupFromColumnsGroup(ColumnsGroup group)

getDesign

protected net.sf.jasperreports.engine.design.JasperDesign getDesign()

setDesign

protected void setDesign(net.sf.jasperreports.engine.design.JasperDesign design)

getReport

protected DynamicReport getReport()

setReport

protected void setReport(DynamicReport report)


Copyright © 2006-2008 FDV Solutions. All Rights Reserved.