Class JRFillCrosstab
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.JRFillElement
-
- net.sf.jasperreports.engine.fill.JRFillCrosstab
-
- All Implemented Interfaces:
Cloneable
,BucketingServiceContext
,JRCrosstab
,DynamicPropertiesHolder
,JRFillCloneable
,JROriginProvider
,JRBoxContainer
,JRChild
,JRCloneable
,JRCommonElement
,JRElement
,JRIdentifiable
,JRPropertiesHolder
,JRStyleContainer
,JRStyleSetter
,JRVisitable
public class JRFillCrosstab extends JRFillElement implements JRCrosstab, JROriginProvider, BucketingServiceContext
Fill-time implementation of acrosstab
.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
JRFillCrosstab.CrosstabFiller
Crosstab filler class.class
JRFillCrosstab.JRFillCrosstabDataset
Fill-time crosstab input dataset implementation.
-
Field Summary
-
Fields inherited from class net.sf.jasperreports.engine.fill.JRFillElement
band, conditionalStylesContainer, currentEvaluation, currentStyle, defaultPopulateTemplateStyle, defaultStyleProvider, delayedEvaluationsMap, dynamicProperties, dynamicTransferProperties, elementGroup, EXCEPTION_MESSAGE_KEY_INVALID_BOOKMARK_LEVEL, expressionEvaluator, exprStyle, fillContainerContext, filler, hasDynamicPopulateTemplateStyle, initStyle, mergedProperties, originProvider, parent, printElementOriginator, printWhenGroupChanges, propertyExpressions, providerStyle, staticProperties, staticTransferProperties, styleProviders, templates
-
Fields inherited from interface net.sf.jasperreports.crosstabs.JRCrosstab
DEFAULT_COLUMN_BREAK_OFFSET, PROPERTY_IGNORE_WIDTH, VARIABLE_COLUMN_COUNT, VARIABLE_IS_EVEN_COLUMN, VARIABLE_IS_EVEN_ROW, VARIABLE_ROW_COUNT
-
Fields inherited from interface net.sf.jasperreports.engine.JRElement
PROPERTY_ELEMENT_TEMPLATE_POPULATE_STYLE
-
-
Constructor Summary
Constructors Constructor Description JRFillCrosstab(JRBaseFiller filler, JRCrosstab crosstab, JRFillObjectFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
addCrosstabChunk(List<JRPrintElement> elements, int yOffset)
protected BucketOrder
bucketOrder(BucketDefinition bucket)
protected List<BucketDefinition.Bucket>
bucketValuesList(HeaderCell cell)
void
collectExpressions(JRExpressionCollector collector)
protected HorizontalPosition
concreteHorizontalPosition()
JRFillCloneable
createClone(JRFillCloneFactory factory)
Creates a working clone of itself.protected JRTemplateElement
createElementTemplate()
protected JRTemplateGenericPrintElement
createInteractiveElement(String chunkId, boolean floatingHeaders)
protected BucketOrderer
createOrderer(JRCrosstabGroup group, int groupIndex, Comparator<Object> bucketComparator)
protected void
evaluate(byte evaluation)
Object
evaluateMeasuresExpression(JRExpression expression, MeasureDefinition.MeasureValue[] measureValues)
protected JRPrintElement
fill()
JRCrosstabCell[][]
getCells()
Returns the data cell matrix.protected int
getChunkIndex()
Integer
getColumnBreakOffset()
Returns the column break offset.JRCrosstabColumnGroup[]
getColumnGroups()
Returns the column groups of the crosstab.JRCrosstabDataset
getDataset()
Returns the input dataset of the crosstab.Color
getDefaultLineColor()
JRElement
getElementByKey(String elementKey)
Searches for an element inside all crosstab cells.JRFillExpressionEvaluator
getExpressionEvaluator()
JRBaseFiller
getFiller()
JRCellContents
getHeaderCell()
Returns a cell which will be rendered at the upper-left corner of the crosstab.HorizontalPosition
getHorizontalPosition()
Returns the position of the crosstab within its element box.int
getId()
Returns the ID of the crosstab.Boolean
getIgnoreWidth()
Returns the ignore width flag for the crosstab.JasperReportsContext
getJasperReportsContext()
JRLineBox
getLineBox()
JRCrosstabMeasure[]
getMeasures()
Returns the crosstab measures.ModeEnum
getMode()
Returns the element transparency mode.JROrigin
getOrigin()
Returns an element origin.JRCrosstabParameter[]
getParameters()
Returns the crosstab parameters.JRExpression
getParametersMapExpression()
Returns the parameters map expression.protected List<? extends JRPrintElement>
getPrintElements()
protected int
getPrintElementsWidth()
JRCrosstabRowGroup[]
getRowGroups()
Returns the row groups of the crosstab.RunDirectionEnum
getRunDirection()
Retrieves the run direction of this crosstabprotected JRTemplateFrame
getTemplateFrame()
CrosstabColumnCell
getTitleCell()
Returns the title cell, which renders once at the beginning of the crosstab.JRVariable[]
getVariables()
Returns the variables defined for the crosstab.JRCellContents
getWhenNoDataCell()
Returns a cell which will be rendered when no data was fed to the crosstab.protected void
initBucketingService()
protected void
initEvaluator(byte evaluation)
boolean
isRepeatColumnHeaders()
Returns whether to repeat the column headers after a row break.boolean
isRepeatRowHeaders()
Returns whether to repeat the row headers after a column break.protected void
loadEvaluator(JasperReport jasperReport)
protected boolean
matchesOrderByColumn(HeaderCell cell)
protected void
mirrorPrintElements(List<JRPrintElement> printElements, int width)
protected boolean
prepare(int availableHeight, boolean isOverflow)
protected void
reset()
protected void
resolveElement(JRPrintElement element, byte evaluation)
Resolves an element.protected void
rewind()
protected void
setBand(JRFillBand band)
void
setHorizontalPosition(HorizontalPosition horizontalPosition)
Sets the position of the crosstab within its element box.void
setIgnoreWidth(Boolean ignoreWidth)
Set the ignore width crosstab flag.protected void
setOrderByColumnBucketValues()
protected void
setOrderByColumnInfo()
void
setRunDirection(RunDirectionEnum runDirection)
Sets the run direction of the crosstab.protected List<ColumnValueInfo>
toColumnValues(List<BucketDefinition.Bucket> bucketValues)
void
visit(JRVisitor visitor)
-
Methods inherited from class net.sf.jasperreports.engine.fill.JRFillElement
addDependantElement, addDynamicProperty, clone, clone, clone, collectDelayedEvaluations, collectDelayedEvaluations, collectDelayedEvaluations, collectStyleDelayedEvaluations, collectStyleProviderDelayedEvaluations, delayedEvaluate, delayedEvaluationUpdatesTemplate, evaluateExpression, evaluatePrintWhenExpression, evaluateProperties, evaluateStyle, getBackcolor, getBand, getBookmarkLevel, getCollapsedHeightAbove, getCollapsedHeightBelow, getConditionalStylesContainer, getDefaultStyleProvider, getDependantElements, getDynamicProperties, getElementGroup, getElementOrigin, getElementTemplate, getEvaluatedProperties, getEvaluationTime, getField, getForecolor, getGroupElements, getHeight, getInitStyle, getKey, getOwnBackcolor, getOwnForecolor, getOwnMode, getParent, getParentProperties, getPositionType, getPrepareHeight, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertiesMap, getPropertyExpressions, getRelativeY, getStretchHeight, getStretchType, getStyle, getStyleExpression, getStyleNameReference, getStyleResolver, getTemplate, getTimeZone, getUUID, getVariable, getWidth, getX, getY, hasDynamicProperties, hasDynamicProperty, hasProperties, initDelayedEvaluationPrint, initDelayedEvaluations, initStyleProviders, isAlreadyPrinted, isAutoEvaluateNow, isDelayedStyleEvaluation, isEvaluateAuto, isEvaluateNow, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isPrintWhenExpressionNull, isPrintWhenTrue, isRemoveLineWhenBlank, isReprinted, isToPrint, isValueRepeating, moveDependantElements, performDelayedEvaluation, registerTemplate, resolveElement, setAlreadyPrinted, setBackcolor, setCollapsedHeightAbove, setCollapsedHeightBelow, setConditionalStylesContainer, setCurrentEvaluation, setExpressionEvaluator, setForecolor, setHeight, setMode, setOriginProvider, setPositionType, setPrepareHeight, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setPrintWhenExpressionNull, setPrintWhenTrue, setRelativeY, setRemoveLineWhenBlank, setReprinted, setShrinkable, setStretchHeight, setStretchType, setStyle, setStyleNameReference, setToPrint, setValueRepeating, setWidth, setX, setY, stretchElement, stretchElementToContainer, stretchElementToElementGroup, stretchElementToHeight, toPopulateTemplateStyle, transferProperties, transferProperties
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.jasperreports.engine.JRCloneable
clone
-
Methods inherited from interface net.sf.jasperreports.engine.JRCommonElement
getBackcolor, getForecolor, getHeight, getKey, getOwnBackcolor, getOwnForecolor, getOwnMode, getWidth, setBackcolor, setForecolor, setMode
-
Methods inherited from interface net.sf.jasperreports.engine.JRElement
clone, getElementGroup, getPositionType, getPrintWhenExpression, getPrintWhenGroupChanges, getPropertyExpressions, getStretchType, getStyleExpression, getX, getY, isPrintInFirstWholeBand, isPrintRepeatedValues, isPrintWhenDetailOverflows, isRemoveLineWhenBlank, setPositionType, setPrintInFirstWholeBand, setPrintRepeatedValues, setPrintWhenDetailOverflows, setRemoveLineWhenBlank, setStretchType, setWidth, setX
-
Methods inherited from interface net.sf.jasperreports.engine.JRIdentifiable
getUUID
-
Methods inherited from interface net.sf.jasperreports.engine.JRPropertiesHolder
getParentProperties, getPropertiesMap, hasProperties
-
Methods inherited from interface net.sf.jasperreports.engine.JRStyleContainer
getDefaultStyleProvider, getStyle, getStyleName, getStyleNameReference
-
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_BUCKETING_SERVICE_ERROR
public static final String EXCEPTION_MESSAGE_KEY_BUCKETING_SERVICE_ERROR
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_EVALUATOR_LOADING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_EVALUATOR_LOADING_ERROR
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_INFINITE_LOOP
public static final String EXCEPTION_MESSAGE_KEY_INFINITE_LOOP
- See Also:
- Constant Field Values
-
EXCEPTION_MESSAGE_KEY_NOT_ENOUGH_SPACE
public static final String EXCEPTION_MESSAGE_KEY_NOT_ENOUGH_SPACE
- See Also:
- Constant Field Values
-
PROPERTY_INTERACTIVE
public static final String PROPERTY_INTERACTIVE
Property that enables/disables the interactivity in the crosstab component.It can be set:
- globally
- at report level
- at component level
The default global value of this property is
true
- See Also:
- Constant Field Values
-
PROPERTY_FLOATING_HEADERS
public static final String PROPERTY_FLOATING_HEADERS
Property that enables/disables the floating headers in the crosstab component when scrolling. If the interactivity has been disabled by settingPROPERTY_INTERACTIVE
tofalse
, then setting this property will have no effect.It can be set:
- globally
- at report level
- at component level
The default global value of this property is
true
- See Also:
- Constant Field Values
-
PROPERTY_ORDER_BY_COLUMN
public static final String PROPERTY_ORDER_BY_COLUMN
- See Also:
- Constant Field Values
-
PROPERTY_ROW_GROUP_COLUMN_HEADER
public static final String PROPERTY_ROW_GROUP_COLUMN_HEADER
- See Also:
- Constant Field Values
-
PROPERTY_COLUMN_HEADER_SORT_MEASURE_INDEX
public static final String PROPERTY_COLUMN_HEADER_SORT_MEASURE_INDEX
- See Also:
- Constant Field Values
-
CROSSTAB_INTERACTIVE_ELEMENT_NAME
public static final String CROSSTAB_INTERACTIVE_ELEMENT_NAME
- See Also:
- Constant Field Values
-
HTML_CLASS_COLUMN_FLOATING
public static final String HTML_CLASS_COLUMN_FLOATING
- See Also:
- Constant Field Values
-
HTML_CLASS_ROW_FLOATING
public static final String HTML_CLASS_ROW_FLOATING
- See Also:
- Constant Field Values
-
HTML_CLASS_CROSS_FLOATING
public static final String HTML_CLASS_CROSS_FLOATING
- See Also:
- Constant Field Values
-
CROSSTAB_INTERACTIVE_ELEMENT_TYPE
public static final JRGenericElementType CROSSTAB_INTERACTIVE_ELEMENT_TYPE
-
FILL_CACHE_KEY_CROSSTAB_CHUNK_COUNTER
protected static final String FILL_CACHE_KEY_CROSSTAB_CHUNK_COUNTER
-
parentCrosstab
protected final JRCrosstab parentCrosstab
-
lineBox
protected final JRLineBox lineBox
-
dataset
protected JRFillCrosstab.JRFillCrosstabDataset dataset
-
rowGroups
protected JRFillCrosstabRowGroup[] rowGroups
-
columnGroups
protected JRFillCrosstabColumnGroup[] columnGroups
-
measures
protected JRFillCrosstabMeasure[] measures
-
bucketingService
protected CrosstabBucketingService bucketingService
-
variables
protected JRFillVariable[] variables
-
variablesMap
protected Map<String,JRFillVariable> variablesMap
-
totalVariables
protected JRFillVariable[][][] totalVariables
-
retrieveTotal
protected boolean[][] retrieveTotal
-
parameters
protected JRFillCrosstabParameter[] parameters
-
parametersMap
protected Map<String,JRFillParameter> parametersMap
-
ignoreWidth
protected boolean ignoreWidth
-
crosstabEvaluator
protected JRCrosstabExpressionEvaluator crosstabEvaluator
-
crossCells
protected JRFillCrosstabCell[][] crossCells
-
titleCellContents
protected JRFillCellContents titleCellContents
-
headerCell
protected JRFillCellContents headerCell
-
whenNoDataCell
protected JRFillCellContents whenNoDataCell
-
hasData
protected boolean hasData
-
columnHeadersData
protected HeaderCell[][] columnHeadersData
-
rowHeadersData
protected HeaderCell[][] rowHeadersData
-
cellData
protected CrosstabCell[][] cellData
-
grandTotals
protected MeasureDefinition.MeasureValue[] grandTotals
-
-
Constructor Detail
-
JRFillCrosstab
public JRFillCrosstab(JRBaseFiller filler, JRCrosstab crosstab, JRFillObjectFactory factory)
-
-
Method Detail
-
setBand
protected void setBand(JRFillBand band)
- Overrides:
setBand
in classJRFillElement
-
getMode
public ModeEnum getMode()
Description copied from interface:JRCommonElement
Returns the element transparency mode. The default value depends on the type of the report element. Graphic elements like rectangles and lines are opaque by default, but the images are transparent. Both static texts and text fields are transparent by default, and so are the subreport elements.- Specified by:
getMode
in interfaceJRCommonElement
- Overrides:
getMode
in classJRFillElement
-
getFiller
public JRBaseFiller getFiller()
- Overrides:
getFiller
in classJRFillElement
-
loadEvaluator
protected void loadEvaluator(JasperReport jasperReport)
-
createOrderer
protected BucketOrderer createOrderer(JRCrosstabGroup group, int groupIndex, Comparator<Object> bucketComparator)
-
evaluateMeasuresExpression
public Object evaluateMeasuresExpression(JRExpression expression, MeasureDefinition.MeasureValue[] measureValues) throws JRException
- Specified by:
evaluateMeasuresExpression
in interfaceBucketingServiceContext
- Throws:
JRException
-
reset
protected void reset()
- Overrides:
reset
in classJRFillElement
-
evaluate
protected void evaluate(byte evaluation) throws JRException
- Specified by:
evaluate
in classJRFillElement
- Throws:
JRException
-
initEvaluator
protected void initEvaluator(byte evaluation) throws JRException
- Throws:
JRException
-
initBucketingService
protected void initBucketingService()
-
setOrderByColumnInfo
protected void setOrderByColumnInfo()
-
setOrderByColumnBucketValues
protected void setOrderByColumnBucketValues()
-
prepare
protected boolean prepare(int availableHeight, boolean isOverflow) throws JRException
- Overrides:
prepare
in classJRFillElement
- Throws:
JRException
-
addCrosstabChunk
protected void addCrosstabChunk(List<JRPrintElement> elements, int yOffset)
-
getChunkIndex
protected int getChunkIndex()
-
concreteHorizontalPosition
protected HorizontalPosition concreteHorizontalPosition()
-
createInteractiveElement
protected JRTemplateGenericPrintElement createInteractiveElement(String chunkId, boolean floatingHeaders)
-
bucketOrder
protected BucketOrder bucketOrder(BucketDefinition bucket)
-
matchesOrderByColumn
protected boolean matchesOrderByColumn(HeaderCell cell)
-
bucketValuesList
protected List<BucketDefinition.Bucket> bucketValuesList(HeaderCell cell)
-
toColumnValues
protected List<ColumnValueInfo> toColumnValues(List<BucketDefinition.Bucket> bucketValues)
-
fill
protected JRPrintElement fill()
- Specified by:
fill
in classJRFillElement
-
getTemplateFrame
protected JRTemplateFrame getTemplateFrame()
-
createElementTemplate
protected JRTemplateElement createElementTemplate()
- Specified by:
createElementTemplate
in classJRFillElement
-
rewind
protected void rewind()
- Specified by:
rewind
in classJRFillElement
-
getPrintElements
protected List<? extends JRPrintElement> getPrintElements()
-
getPrintElementsWidth
protected int getPrintElementsWidth()
-
mirrorPrintElements
protected void mirrorPrintElements(List<JRPrintElement> printElements, int width)
-
resolveElement
protected void resolveElement(JRPrintElement element, byte evaluation)
Description copied from class:JRFillElement
Resolves an element.- Specified by:
resolveElement
in classJRFillElement
- Parameters:
element
- the elementevaluation
- the evaluation type
-
collectExpressions
public void collectExpressions(JRExpressionCollector collector)
- Specified by:
collectExpressions
in interfaceJRElement
-
visit
public void visit(JRVisitor visitor)
- Specified by:
visit
in interfaceJRVisitable
-
getId
public int getId()
Description copied from interface:JRCrosstab
Returns the ID of the crosstab.The ID is generated when the report is compiled and is used internally.
- Specified by:
getId
in interfaceJRCrosstab
- Returns:
- the ID of the crosstab
-
getDataset
public JRCrosstabDataset getDataset()
Description copied from interface:JRCrosstab
Returns the input dataset of the crosstab.- Specified by:
getDataset
in interfaceJRCrosstab
- Returns:
- the input dataset of the crosstab
-
getRowGroups
public JRCrosstabRowGroup[] getRowGroups()
Description copied from interface:JRCrosstab
Returns the row groups of the crosstab.- Specified by:
getRowGroups
in interfaceJRCrosstab
- Returns:
- the row groups
-
getColumnGroups
public JRCrosstabColumnGroup[] getColumnGroups()
Description copied from interface:JRCrosstab
Returns the column groups of the crosstab.- Specified by:
getColumnGroups
in interfaceJRCrosstab
- Returns:
- the column groups
-
getMeasures
public JRCrosstabMeasure[] getMeasures()
Description copied from interface:JRCrosstab
Returns the crosstab measures.- Specified by:
getMeasures
in interfaceJRCrosstab
- Returns:
- the crosstab measures
-
getColumnBreakOffset
public Integer getColumnBreakOffset()
Description copied from interface:JRCrosstab
Returns the column break offset.When the crosstab columns do not fit the width, the crosstab breaks the columns and prints the ones that don't fit after printing the first set of columns for all rows. This method returns the offset to be used when continuing the printing after a column break.
- Specified by:
getColumnBreakOffset
in interfaceJRCrosstab
- Returns:
- the column break offset
-
isRepeatColumnHeaders
public boolean isRepeatColumnHeaders()
Description copied from interface:JRCrosstab
Returns whether to repeat the column headers after a row break.- Specified by:
isRepeatColumnHeaders
in interfaceJRCrosstab
- Returns:
- whether to repeat the column headers after a row break
-
isRepeatRowHeaders
public boolean isRepeatRowHeaders()
Description copied from interface:JRCrosstab
Returns whether to repeat the row headers after a column break.- Specified by:
isRepeatRowHeaders
in interfaceJRCrosstab
- Returns:
- whether to repeat the row headers after a column break
-
getCells
public JRCrosstabCell[][] getCells()
Description copied from interface:JRCrosstab
Returns the data cell matrix.A crosstab can have multiple data cells for row/groups totals. These cells are organized in a (rowGroupCount + 1) x (columnGroupCount + 1) matrix as following:
- the row index of a cell is
- the row group index, if the cell corresponds to a total row
- rowGroupCount, otherwise
- the column index of a cell is
- the column group index, if the cell corresponds to a total column
- columnGroupCount, otherwise
E.g. if the crosstab has Country and City (subgroup of Country) row groups and Year and Month column groups, the cells will be organized in the following matrix
0/Years total 1/Months total 2/Base 0/Countries total Total for all countries and all years Total for all countries and a year Total for all countries and a month 1/Cities total Total for a country and all years Total for a country and a year Total for a country and a month 2/Base Total for a city and all years Total for a city and a year Total for a city and a month If the data cell for a total row/column is not specified, the cell will be inherited from lower levels, if possible. For example, if the "Total for all countries and a year" cell is not specified, the "Total for a country and a year" or "Total for a city and a year" cell will be used (in this order).
The data cell sizes are calculated from the base data cell sizes, i.e. the height of all data cells for a row will be the height of the base cell of that row. The base cell sizes are also inherited, e.g. if the height of a total row is not specified the height of the base row will be used.
- Specified by:
getCells
in interfaceJRCrosstab
- Returns:
- the data cell matrix
- the row index of a cell is
-
getWhenNoDataCell
public JRCellContents getWhenNoDataCell()
Description copied from interface:JRCrosstab
Returns a cell which will be rendered when no data was fed to the crosstab.If this cell is not specified for a crosstab, nothing will be rendered for an empty crosstab.
The cell sizes are the same as the crosstab element sizes.
- Specified by:
getWhenNoDataCell
in interfaceJRCrosstab
- Returns:
- a cell which will be rendered when no data was fed to the crosstab
-
getParameters
public JRCrosstabParameter[] getParameters()
Description copied from interface:JRCrosstab
Returns the crosstab parameters.Crosstabs have separate expression evaluators and cannot access the parameters/fields/variables of the report. In order to use a value from the report inside a crosstab, it should be passed as parameter to the crosstab.
A crosstab parameters has a name and a value expression.
- Specified by:
getParameters
in interfaceJRCrosstab
- Returns:
- the crosstab parameters
-
getParametersMapExpression
public JRExpression getParametersMapExpression()
Description copied from interface:JRCrosstab
Returns the parameters map expression.The set of values for crosstab parameters can be set using a map. If a parameter has also a value expression, it will overwrite the value from the map.
- Specified by:
getParametersMapExpression
in interfaceJRCrosstab
- Returns:
- the parameters map expression
-
getElementByKey
public JRElement getElementByKey(String elementKey)
Description copied from interface:JRCrosstab
Searches for an element inside all crosstab cells.- Specified by:
getElementByKey
in interfaceJRCrosstab
- Parameters:
elementKey
- the element key- Returns:
- the first element having the specified key
-
createClone
public JRFillCloneable createClone(JRFillCloneFactory factory)
Description copied from interface:JRFillCloneable
Creates a working clone of itself.- Specified by:
createClone
in interfaceJRFillCloneable
- Parameters:
factory
- the clone factory to use while creating the clone- Returns:
- a working clone of itself
-
getTitleCell
public CrosstabColumnCell getTitleCell()
Description copied from interface:JRCrosstab
Returns the title cell, which renders once at the beginning of the crosstab.- Specified by:
getTitleCell
in interfaceJRCrosstab
- Returns:
- the title cell
-
getHeaderCell
public JRCellContents getHeaderCell()
Description copied from interface:JRCrosstab
Returns a cell which will be rendered at the upper-left corner of the crosstab. The cell size will be calculated based on the row/column header cell widths/heights.- Specified by:
getHeaderCell
in interfaceJRCrosstab
- Returns:
- a cell which will be rendered at the upper-left corner of the crosstab
-
getVariables
public JRVariable[] getVariables()
Description copied from interface:JRCrosstab
Returns the variables defined for the crosstab.- Specified by:
getVariables
in interfaceJRCrosstab
- Returns:
- variables defined for the crosstab
- See Also:
JRCrosstabGroup.getVariable()
,JRCrosstabMeasure.getVariable()
,JRCrosstab.VARIABLE_ROW_COUNT
,JRCrosstab.VARIABLE_IS_EVEN_ROW
,JRCrosstab.VARIABLE_COLUMN_COUNT
,JRCrosstab.VARIABLE_IS_EVEN_COLUMN
-
getRunDirection
public RunDirectionEnum getRunDirection()
Description copied from interface:JRCrosstab
Retrieves the run direction of this crosstab- Specified by:
getRunDirection
in interfaceJRCrosstab
- Returns:
- a value representing one of the run direction constants in
RunDirectionEnum
-
setRunDirection
public void setRunDirection(RunDirectionEnum runDirection)
Description copied from interface:JRCrosstab
Sets the run direction of the crosstab.Crosstabs can either be filled from left to right (the default) or from right to left (mainly for reports in RTL languages).
- Specified by:
setRunDirection
in interfaceJRCrosstab
- Parameters:
runDirection
- a value representing one of the run direction constants inRunDirectionEnum
-
getHorizontalPosition
public HorizontalPosition getHorizontalPosition()
Description copied from interface:JRCrosstab
Returns the position of the crosstab within its element box.- Specified by:
getHorizontalPosition
in interfaceJRCrosstab
- Returns:
- the position of the crosstab within its element box,
null
if no position is specified
-
setHorizontalPosition
public void setHorizontalPosition(HorizontalPosition horizontalPosition)
Description copied from interface:JRCrosstab
Sets the position of the crosstab within its element box.- Specified by:
setHorizontalPosition
in interfaceJRCrosstab
- Parameters:
horizontalPosition
- the crosstab position, ifnull
the default position is applied
-
getOrigin
public JROrigin getOrigin()
Description copied from interface:JROriginProvider
Returns an element origin.- Specified by:
getOrigin
in interfaceJROriginProvider
- Returns:
- an element origin
-
getIgnoreWidth
public Boolean getIgnoreWidth()
Description copied from interface:JRCrosstab
Returns the ignore width flag for the crosstab.- Specified by:
getIgnoreWidth
in interfaceJRCrosstab
- Returns:
- the ignore width flag, or
null
is the crosstab does not specify a flag value - See Also:
JRCrosstab.setIgnoreWidth(Boolean)
-
setIgnoreWidth
public void setIgnoreWidth(Boolean ignoreWidth)
Description copied from interface:JRCrosstab
Set the ignore width crosstab flag.This flag determines whether the crosstab will break at the width set for the crosstab element, or whether the crosstab is to expand over this width (and over the page width as well).
If this flag is set to
true
, the crosstab will expand towards the right (or towards the left if the crosstab direction is RTL) as long as it needs to. This would result in crosstab cells being rendered over the page boundary; such elements will be exported by certain grid-based exporters such as the HTML or XLS ones, but will not be visible in export formats that observe the page width, such as the PDF exporter.The default value of this flag is given by the
JRCrosstab.PROPERTY_IGNORE_WIDTH
property and theJRParameter.IS_IGNORE_PAGINATION
parameter.- Specified by:
setIgnoreWidth
in interfaceJRCrosstab
- Parameters:
ignoreWidth
- whether the element width is to be ignored by the crosstab, ornull
if the default setting is to be used- See Also:
JRCrosstab.PROPERTY_IGNORE_WIDTH
-
getDefaultLineColor
public Color getDefaultLineColor()
- Specified by:
getDefaultLineColor
in interfaceJRBoxContainer
-
getLineBox
public JRLineBox getLineBox()
- Specified by:
getLineBox
in interfaceJRBoxContainer
-
getJasperReportsContext
public JasperReportsContext getJasperReportsContext()
- Specified by:
getJasperReportsContext
in interfaceBucketingServiceContext
-
getExpressionEvaluator
public JRFillExpressionEvaluator getExpressionEvaluator()
- Specified by:
getExpressionEvaluator
in interfaceBucketingServiceContext
-
-