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 StringEXCEPTION_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 voidcollectExpressions(JRExpressionCollector collector)protected voidcustomEvaluate(JRCalculator calculator)Evaluates the expressions associated with the dataset.protected voidcustomIncrement()Increments the dataset by collecting the result of the expression evaluation.protected voidcustomInitialize()Initializes the element dataset.booleanisDataPreSorted()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, getIncrementTypeValue, 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, getIncrementTypeValue, 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:JRFillElementDatasetInitializes the element dataset.The dataset is initialized before being used and after each time the dataset gets reset.
- Specified by:
customInitializein classJRFillElementDataset- See Also:
JRFillElementDataset.getDatasetResetType()
-
customEvaluate
protected void customEvaluate(JRCalculator calculator) throws JRExpressionEvalException
Description copied from class:JRFillElementDatasetEvaluates 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:
customEvaluatein classJRFillElementDataset- Parameters:
calculator- used to evaluate expressions- Throws:
JRExpressionEvalException- any exception that occurs while evaluating expressions
-
customIncrement
protected void customIncrement()
Description copied from class:JRFillElementDatasetIncrements the dataset by collecting the result of the expression evaluation.- Specified by:
customIncrementin classJRFillElementDataset
-
collectExpressions
public void collectExpressions(JRExpressionCollector collector)
- Specified by:
collectExpressionsin interfaceJRElementDataset
-
isDataPreSorted
public boolean isDataPreSorted()
Description copied from interface:JRCrosstabDatasetReturns 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:
isDataPreSortedin interfaceJRCrosstabDataset- Returns:
- whether the crosstab data is pre-sorted
-
-