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

java.lang.Object
  extended by ar.com.fdvs.dj.core.layout.AbstractLayoutManager
      extended by ar.com.fdvs.dj.core.layout.ClassicLayoutManager
All Implemented Interfaces:
LayoutManager

public class ClassicLayoutManager
extends AbstractLayoutManager

Main Layout Manager recommended for most cases.

It provides DJ full features (styles, groups, conditional styles,
expressions, group and total variables, etc)


Field Summary
protected static java.lang.String EXPRESSION_TRUE_WHEN_FIRST_PAGE
           
protected static java.lang.String EXPRESSION_TRUE_WHEN_NOT_FIRST_PAGE
           
 
Fields inherited from class ar.com.fdvs.dj.core.layout.AbstractLayoutManager
EXPRESSION_TRUE_WHEN_ODD, realGroups
 
Constructor Summary
ClassicLayoutManager()
           
 
Method Summary
protected  void applyBanners()
          Create the image elements for the banners tha goes into the title and header bands depending on the case
protected  void applyFooterAutotexts()
           
protected  void applyHeaderAutotexts()
           
protected  void applyImageBannersToBand(net.sf.jasperreports.engine.design.JRDesignBand band, java.util.Collection imageBanners, net.sf.jasperreports.engine.design.JRDesignExpression printWhenExpression)
          Create the image elements for the banners tha goes into the title band
protected  int changeHeaderBandHeightForVariables(net.sf.jasperreports.engine.design.JRDesignBand headerBand, ColumnsGroup columnsGroup)
           
protected  net.sf.jasperreports.engine.design.JRDesignRectangle createBlankRectableCrosstab(int amount, int yOffset)
           
protected  net.sf.jasperreports.engine.design.JRDesignTextField createColumnNameTextField(ColumnsGroup columnsGroup, AbstractColumn col)
           
protected  void endLayout()
           
protected  ColumnsGroupVariable findLeftMostColumn(java.util.List variables)
           
protected  int findTotalOffset(java.util.ArrayList aligments, java.util.ArrayList autotexts, byte position)
          Finds the highest sum of height for each possible alignment (left, center, right)
protected  void generateHeaderBand()
           
protected  void generateTitleBand()
          Adds title and subtitle to the TitleBand when it applies.
protected  java.util.List getVisibleColumns()
          Returns a list with the columns that are visible.
protected  void insertValueInHeader(net.sf.jasperreports.engine.design.JRDesignBand headerBand, ColumnsGroup columnsGroup, int headerOffset)
           
protected  void layoutGroupCrosstabs(ColumnsGroup columnsGroup, net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
          Looks for crosstabs in the groups, if any, it does the layout
protected  void layoutGroups()
          Layout columns in groups by reading the corresponding report options.
protected  void layoutGroupSubreports(ColumnsGroup columnsGroup, net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
          If there is a SubReport on a Group, we do the layout here
protected  void layoutGroupVariables(ColumnsGroup group, net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
          If variables are present for a given group, they are placed in it's header/footer band.
protected  void layOutSubReportInBand(ColumnsGroup columnsGroup, net.sf.jasperreports.engine.design.JRDesignBand band, java.lang.String position)
           
protected  void placeVariableInBand(java.util.List variables, ColumnsGroup columnsGroup, net.sf.jasperreports.engine.design.JRDesignGroup jgroup, java.lang.String type, net.sf.jasperreports.engine.design.JRDesignBand band, int yOffset)
           
protected  void startLayout()
           
protected  void transformDetailBandTextField(AbstractColumn column, net.sf.jasperreports.engine.design.JRDesignTextField textField)
           
 
Methods inherited from class ar.com.fdvs.dj.core.layout.AbstractLayoutManager
addStyleToDesign, applyLayout, applyStyleToElement, createChart, createGroupForChartAndGetBand, createUniqueStyleName, ensureDJStyles, generateHeaderBand, generateTextFieldFromColumn, getDesign, getGroupFromColumnsGroup, getParent, getReport, getReportStyles, interpeterOptions, layoutCharts, registerChartVariable, registerRemainingStyles, setBandFinalHeight, setBandsFinalHeight, setColumnsFinalWidth, setDesign, setReport, setReportStyles, setWhenNoDataBand, transformDetailBand
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EXPRESSION_TRUE_WHEN_NOT_FIRST_PAGE

protected static final java.lang.String EXPRESSION_TRUE_WHEN_NOT_FIRST_PAGE
See Also:
Constant Field Values

EXPRESSION_TRUE_WHEN_FIRST_PAGE

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

ClassicLayoutManager

public ClassicLayoutManager()
Method Detail

startLayout

protected void startLayout()
Overrides:
startLayout in class AbstractLayoutManager

applyHeaderAutotexts

protected void applyHeaderAutotexts()

findTotalOffset

protected int findTotalOffset(java.util.ArrayList aligments,
                              java.util.ArrayList autotexts,
                              byte position)
Finds the highest sum of height for each possible alignment (left, center, right)

Parameters:
aligments -
autotexts -
Returns:

endLayout

protected void endLayout()
Overrides:
endLayout in class AbstractLayoutManager

applyFooterAutotexts

protected void applyFooterAutotexts()

getVisibleColumns

protected java.util.List getVisibleColumns()
Returns a list with the columns that are visible. Invisible column are the one whose group is configured with hideColumn = true (in the GroupLayout)

Overrides:
getVisibleColumns in class AbstractLayoutManager
Returns:

applyBanners

protected void applyBanners()
Create the image elements for the banners tha goes into the title and header bands depending on the case


applyImageBannersToBand

protected void applyImageBannersToBand(net.sf.jasperreports.engine.design.JRDesignBand band,
                                       java.util.Collection imageBanners,
                                       net.sf.jasperreports.engine.design.JRDesignExpression printWhenExpression)
Create the image elements for the banners tha goes into the title band

Parameters:
printWhenExpression -

generateTitleBand

protected void generateTitleBand()
Adds title and subtitle to the TitleBand when it applies. If title is not present then subtitle will be ignored


layoutGroups

protected void layoutGroups()
Layout columns in groups by reading the corresponding report options.

Throws:
LayoutException

layoutGroupCrosstabs

protected void layoutGroupCrosstabs(ColumnsGroup columnsGroup,
                                    net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
Looks for crosstabs in the groups, if any, it does the layout

Parameters:
columnsGroup -
jgroup -

createBlankRectableCrosstab

protected net.sf.jasperreports.engine.design.JRDesignRectangle createBlankRectableCrosstab(int amount,
                                                                                           int yOffset)
Parameters:
djcross -
crosst -
Returns:

createColumnNameTextField

protected net.sf.jasperreports.engine.design.JRDesignTextField createColumnNameTextField(ColumnsGroup columnsGroup,
                                                                                         AbstractColumn col)
Parameters:
columnsGroup -
col -
Returns:

layoutGroupSubreports

protected void layoutGroupSubreports(ColumnsGroup columnsGroup,
                                     net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
If there is a SubReport on a Group, we do the layout here

Parameters:
columnsGroup -
jgroup -

layOutSubReportInBand

protected void layOutSubReportInBand(ColumnsGroup columnsGroup,
                                     net.sf.jasperreports.engine.design.JRDesignBand band,
                                     java.lang.String position)
Parameters:
columnsGroup -
band -
position -

layoutGroupVariables

protected void layoutGroupVariables(ColumnsGroup group,
                                    net.sf.jasperreports.engine.design.JRDesignGroup jgroup)
If variables are present for a given group, they are placed in it's header/footer band.

Parameters:
ColumnsGroup - group
JRDesignGroup - jgroup
Throws:
LayoutException

placeVariableInBand

protected void placeVariableInBand(java.util.List variables,
                                   ColumnsGroup columnsGroup,
                                   net.sf.jasperreports.engine.design.JRDesignGroup jgroup,
                                   java.lang.String type,
                                   net.sf.jasperreports.engine.design.JRDesignBand band,
                                   int yOffset)

findLeftMostColumn

protected ColumnsGroupVariable findLeftMostColumn(java.util.List variables)

insertValueInHeader

protected void insertValueInHeader(net.sf.jasperreports.engine.design.JRDesignBand headerBand,
                                   ColumnsGroup columnsGroup,
                                   int headerOffset)

changeHeaderBandHeightForVariables

protected int changeHeaderBandHeightForVariables(net.sf.jasperreports.engine.design.JRDesignBand headerBand,
                                                 ColumnsGroup columnsGroup)

generateHeaderBand

protected void generateHeaderBand()

transformDetailBandTextField

protected void transformDetailBandTextField(AbstractColumn column,
                                            net.sf.jasperreports.engine.design.JRDesignTextField textField)
Specified by:
transformDetailBandTextField in class AbstractLayoutManager


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