Package net.sf.jasperreports.engine.fill
Class JRFillCrosstab.JRFillCrosstabDataset
- java.lang.Object
-
- net.sf.jasperreports.engine.fill.JRFillElementDataset
-
- net.sf.jasperreports.engine.fill.JRFillCrosstab.JRFillCrosstabDataset
-
- All Implemented Interfaces:
Cloneable
,JRCrosstabDataset
,DatasetRunHolder
,JRCloneable
,JRElementDataset
- Enclosing class:
- JRFillCrosstab
public class JRFillCrosstab.JRFillCrosstabDataset extends JRFillElementDataset implements JRCrosstabDataset
Fill-time crosstab input dataset implementation.- Author:
- Lucian Chirita (lucianc@users.sourceforge.net)
-
-
Field Summary
Fields Modifier and Type Field Description static String
EXCEPTION_MESSAGE_KEY_DATASET_INCREMENTING_ERROR
-
Fields inherited from class net.sf.jasperreports.engine.fill.JRFillElementDataset
datasetRun, incrementGroup, parent, resetGroup
-
-
Constructor Summary
Constructors Constructor Description JRFillCrosstabDataset(JRCrosstabDataset dataset, JRFillObjectFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
collectExpressions(JRExpressionCollector collector)
protected void
customEvaluate(JRCalculator calculator)
Evaluates the expressions associated with the dataset.protected void
customIncrement()
Increments the dataset by collecting the result of the expression evaluation.protected void
customInitialize()
Initializes the element dataset.boolean
isDataPreSorted()
Returns whether the crosstab data is pre-sorted according to the crosstab's groups.-
Methods inherited from class net.sf.jasperreports.engine.fill.JRFillElementDataset
clone, evaluate, evaluateDatasetRun, evaluateIncrementWhenExpression, getDatasetResetType, getDatasetRun, getFillDataset, getFiller, getIncrementGroup, getIncrementType, getIncrementWhenExpression, getInputDataset, getLocale, getResetGroup, getTimeZone, increment, initialize, setBand
-
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.JRElementDataset
getDatasetResetType, getDatasetRun, getIncrementGroup, getIncrementType, getIncrementWhenExpression, getResetGroup
-
-
-
-
Field Detail
-
EXCEPTION_MESSAGE_KEY_DATASET_INCREMENTING_ERROR
public static final String EXCEPTION_MESSAGE_KEY_DATASET_INCREMENTING_ERROR
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
JRFillCrosstabDataset
public JRFillCrosstabDataset(JRCrosstabDataset dataset, JRFillObjectFactory factory)
-
-
Method Detail
-
customInitialize
protected void customInitialize()
Description copied from class:JRFillElementDataset
Initializes the element dataset.The dataset is initialized before being used and after each time the dataset gets reset.
- Specified by:
customInitialize
in classJRFillElementDataset
- See Also:
JRFillElementDataset.getDatasetResetType()
-
customEvaluate
protected void customEvaluate(JRCalculator calculator) throws JRExpressionEvalException
Description copied from class:JRFillElementDataset
Evaluates the expressions associated with the dataset.Usually, the result of the evaluation would be preserved so that it is used in
JRFillElementDataset.customIncrement()
- Specified by:
customEvaluate
in classJRFillElementDataset
- Parameters:
calculator
- used to evaluate expressions- Throws:
JRExpressionEvalException
- any exception that occurs while evaluating expressions
-
customIncrement
protected void customIncrement()
Description copied from class:JRFillElementDataset
Increments the dataset by collecting the result of the expression evaluation.- Specified by:
customIncrement
in classJRFillElementDataset
-
collectExpressions
public void collectExpressions(JRExpressionCollector collector)
- Specified by:
collectExpressions
in interfaceJRElementDataset
-
isDataPreSorted
public boolean isDataPreSorted()
Description copied from interface:JRCrosstabDataset
Returns whether the crosstab data is pre-sorted according to the crosstab's groups.The crosstab calculation engine can optimize the calculations if the data is sorted by the row groups and column groups. For example, if there are two row groups R1 and R2 (subgroup of R1) and three column groups C1, C2 and C3 the data should be sorted by R1, R2, C1, C2, C3.
- Specified by:
isDataPreSorted
in interfaceJRCrosstabDataset
- Returns:
- whether the crosstab data is pre-sorted
-
-