Class JRBaseCrosstabGroup
- java.lang.Object
-
- net.sf.jasperreports.crosstabs.base.JRBaseCrosstabGroup
-
- All Implemented Interfaces:
Serializable
,Cloneable
,CrosstabBaseCloneable
,JRCrosstabGroup
,JRCloneable
- Direct Known Subclasses:
JRBaseCrosstabColumnGroup
,JRBaseCrosstabRowGroup
,JRDesignCrosstabGroup
public abstract class JRBaseCrosstabGroup extends Object implements JRCrosstabGroup, Serializable, CrosstabBaseCloneable
Base read-only implementation for crosstab row and column groups.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected JRCrosstabBucket
bucket
protected JRCellContents
header
protected Boolean
mergeHeaderCells
protected String
name
protected JRCellContents
totalHeader
protected CrosstabTotalPositionEnum
totalPosition
protected JRVariable
variable
-
Constructor Summary
Constructors Modifier Constructor Description protected
JRBaseCrosstabGroup()
JRBaseCrosstabGroup(JRCrosstabGroup group, JRBaseObjectFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
clone()
JRCrosstabGroup
clone(CrosstabBaseCloneFactory cloneFactory)
JRCrosstabBucket
getBucket()
Returns the bucketing information for this group.JRCellContents
getHeader()
Returns the group header cell.Boolean
getMergeHeaderCells()
Determines whether the header cell of this group spans across all entries in the group, or whether the header cell repeats for each sub group entry.String
getName()
Returns the name of the group.JRCellContents
getTotalHeader()
Returns the group total header cell.CrosstabTotalPositionEnum
getTotalPosition()
Returns the position of the total row/column for this group.JRVariable
getVariable()
Returns the variable associated to this group.boolean
hasTotal()
Returns whether the group has a total row/column.
-
-
-
Field Detail
-
name
protected String name
-
totalPosition
protected CrosstabTotalPositionEnum totalPosition
-
bucket
protected JRCrosstabBucket bucket
-
header
protected JRCellContents header
-
totalHeader
protected JRCellContents totalHeader
-
mergeHeaderCells
protected Boolean mergeHeaderCells
-
variable
protected JRVariable variable
-
-
Constructor Detail
-
JRBaseCrosstabGroup
protected JRBaseCrosstabGroup()
-
JRBaseCrosstabGroup
public JRBaseCrosstabGroup(JRCrosstabGroup group, JRBaseObjectFactory factory)
-
-
Method Detail
-
getName
public String getName()
Description copied from interface:JRCrosstabGroup
Returns the name of the group.- Specified by:
getName
in interfaceJRCrosstabGroup
- Returns:
- the name of the group
- See Also:
JRCrosstabGroup.getVariable()
-
getBucket
public JRCrosstabBucket getBucket()
Description copied from interface:JRCrosstabGroup
Returns the bucketing information for this group.The bucketing information consists of grouping expression and group ordering.
- Specified by:
getBucket
in interfaceJRCrosstabGroup
- Returns:
- the bucketing information for this group
-
getTotalPosition
public CrosstabTotalPositionEnum getTotalPosition()
Description copied from interface:JRCrosstabGroup
Returns the position of the total row/column for this group.A group can have a total row/column summing the values for all the entries in the group. E.g. if there is a Year group having Month as a subgroup, the total row/column for the Year group would sum the values for all the years and the total row/column for the Month group would sum the values for all the months of an year.
Possible values for this attribute are:
CrosstabTotalPositionEnum.NONE
- the group will not display a total row/columnCrosstabTotalPositionEnum.START
- the group will display the total row/column before the group rows/columnsCrosstabTotalPositionEnum.END
- the group will display the total row/column at the end of the group rows/columns
- Specified by:
getTotalPosition
in interfaceJRCrosstabGroup
- Returns:
- the position of the total row/column for this group
-
hasTotal
public boolean hasTotal()
Description copied from interface:JRCrosstabGroup
Returns whether the group has a total row/column.This method is currently equivalent to
getTotalPosition() != Bucket.TOTAL_POSITION_NONE
and is therefore redundant.- Specified by:
hasTotal
in interfaceJRCrosstabGroup
- Returns:
- whether the group has a total row/column
-
getHeader
public JRCellContents getHeader()
Description copied from interface:JRCrosstabGroup
Returns the group header cell.The size of the header cell is computed based on the following rules (only the row header rules are listed, the ones for columns can be deducted by symmetrical duality):
- the width of the header is given by
JRCrosstabRowGroup.getWidth()
- the height of the last row group header is given by the height of the base cell
- the height of a non-last row group header is the sum of the next group header's height and the next group total header's height (0 if the next group doesn't have a total header)
Should never return null, but empty cell contents instead.
- Specified by:
getHeader
in interfaceJRCrosstabGroup
- Returns:
- the group header cell
- the width of the header is given by
-
getTotalHeader
public JRCellContents getTotalHeader()
Description copied from interface:JRCrosstabGroup
Returns the group total header cell.The size of a row group total header is computed based on the following rules:
- the width is the sum the widths of this and subsequent row groups
- the height is the height of the base cell for this total row
Should never return null, but empty cell contents instead.
- Specified by:
getTotalHeader
in interfaceJRCrosstabGroup
- Returns:
- the group total header cell
-
getVariable
public JRVariable getVariable()
Description copied from interface:JRCrosstabGroup
Returns the variable associated to this group.Each group in the crosstab has a variable that can be used inside the group header as the current group value. The variable has the same name as the group and the same type as the bucket expression of the group.
- Specified by:
getVariable
in interfaceJRCrosstabGroup
- Returns:
- the variable associated to this group
-
getMergeHeaderCells
public Boolean getMergeHeaderCells()
Description copied from interface:JRCrosstabGroup
Determines whether the header cell of this group spans across all entries in the group, or whether the header cell repeats for each sub group entry.If the header cell is set to repeat, the sub group should not have a total row/column.
By default the header cell spans across all entries that are part of the group.
- Specified by:
getMergeHeaderCells
in interfaceJRCrosstabGroup
- Returns:
- whether the header cell should span across entries in the group; if
null
the default will apply
-
clone
public Object clone()
- Specified by:
clone
in interfaceJRCloneable
- Overrides:
clone
in classObject
-
clone
public JRCrosstabGroup clone(CrosstabBaseCloneFactory cloneFactory)
- Specified by:
clone
in interfaceCrosstabBaseCloneable
-
-