net.sf.jasperreports.engine.fill
Class JRFillCrosstab.JRFillCrosstabDataset

java.lang.Object
  extended by net.sf.jasperreports.engine.fill.JRFillElementDataset
      extended by net.sf.jasperreports.engine.fill.JRFillCrosstab.JRFillCrosstabDataset
All Implemented Interfaces:
java.lang.Cloneable, JRCrosstabDataset, 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 inherited from class net.sf.jasperreports.engine.fill.JRFillElementDataset
datasetRun, incrementGroup, parent, resetGroup
 
Constructor Summary
JRFillCrosstab.JRFillCrosstabDataset(JRCrosstabDataset dataset, JRFillObjectFactory factory)
           
 
Method Summary
 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.
protected  org.jfree.data.general.Dataset getCustomDataset()
           
 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, getDatasetRun, getFillDataset, getIncrementGroup, getIncrementTypeValue, getIncrementWhenExpression, getInputDataset, getResetGroup, getResetTypeValue, getTimeZone, increment, initialize
 
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.JRElementDataset
getDatasetRun, getIncrementGroup, getIncrementTypeValue, getIncrementWhenExpression, getResetGroup, getResetTypeValue
 
Methods inherited from interface net.sf.jasperreports.engine.JRCloneable
clone
 

Constructor Detail

JRFillCrosstab.JRFillCrosstabDataset

public JRFillCrosstab.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 class JRFillElementDataset
See Also:
JRFillElementDataset.getResetTypeValue()

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 class JRFillElementDataset
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 class JRFillElementDataset

getCustomDataset

protected org.jfree.data.general.Dataset getCustomDataset()

collectExpressions

public void collectExpressions(JRExpressionCollector collector)
Specified by:
collectExpressions in interface JRElementDataset

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 interface JRCrosstabDataset
Returns:
whether the crosstab data is pre-sorted


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com