net.sf.jasperreports.engine.fill
Class JRFillElementDataset

java.lang.Object
  extended by net.sf.jasperreports.engine.fill.JRFillElementDataset
All Implemented Interfaces:
java.lang.Cloneable, JRCloneable, JRElementDataset
Direct Known Subclasses:
FillSpiderDataset, JRFillChartDataset, JRFillCrosstab.JRFillCrosstabDataset

public abstract class JRFillElementDataset
extends java.lang.Object
implements JRElementDataset

Abstract JRElementDataset implementation used at report fill time.

A dataset implementation usually involves a set of expressions which are used to feed data to some internal data structures. The collected data is then transformed into report output. An implementation needs to implement abstract methods that initialize, evaluate and increment the dataset.

Version:
$Id: JRFillElementDataset.java 5180 2012-03-29 13:23:12Z teodord $
Author:
Teodor Danciu (teodord@users.sourceforge.net)
See Also:
JRFillObjectFactory.registerElementDataset(JRFillElementDataset)

Field Summary
protected  JRFillDatasetRun datasetRun
           
protected  JRGroup incrementGroup
           
protected  JRElementDataset parent
           
protected  JRGroup resetGroup
           
 
Constructor Summary
protected JRFillElementDataset(JRElementDataset dataset, JRFillObjectFactory factory)
           
 
Method Summary
 java.lang.Object clone()
           
protected abstract  void customEvaluate(JRCalculator calculator)
          Evaluates the expressions associated with the dataset.
protected abstract  void customIncrement()
          Increments the dataset by collecting the result of the expression evaluation.
protected abstract  void customInitialize()
          Initializes the element dataset.
protected  void evaluate(JRCalculator calculator)
           
 void evaluateDatasetRun(byte evaluation)
           
protected  void evaluateIncrementWhenExpression(JRCalculator calculator)
           
 JRDatasetRun getDatasetRun()
          Returns the sub dataset run for this chart dataset.
 JRFillDataset getFillDataset()
           
 JRGroup getIncrementGroup()
          Gets the selected increment group in case of increment type group.
 IncrementTypeEnum getIncrementTypeValue()
          Returns the increment type.
 JRExpression getIncrementWhenExpression()
          Returns the "increment when" expression.
 JRFillDataset getInputDataset()
           
 JRGroup getResetGroup()
          Gets the selected reset group in case of reset type group.
 ResetTypeEnum getResetTypeValue()
          Gets the reset type.
protected  java.util.TimeZone getTimeZone()
           
protected  void increment()
           
protected  void 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
collectExpressions
 

Field Detail

parent

protected JRElementDataset parent

resetGroup

protected JRGroup resetGroup

incrementGroup

protected JRGroup incrementGroup

datasetRun

protected JRFillDatasetRun datasetRun
Constructor Detail

JRFillElementDataset

protected JRFillElementDataset(JRElementDataset dataset,
                               JRFillObjectFactory factory)
Method Detail

getResetTypeValue

public ResetTypeEnum getResetTypeValue()
Description copied from interface: JRElementDataset
Gets the reset type. This specifies the range of report data used for filling the dataset.

Specified by:
getResetTypeValue in interface JRElementDataset
Returns:
one of the reset constants in ResetTypeEnum

getIncrementTypeValue

public IncrementTypeEnum getIncrementTypeValue()
Description copied from interface: JRElementDataset
Returns the increment type. This specifies dataset values increment step.

Specified by:
getIncrementTypeValue in interface JRElementDataset
Returns:
one of the increment constants in IncrementTypeEnum.

getResetGroup

public JRGroup getResetGroup()
Description copied from interface: JRElementDataset
Gets the selected reset group in case of reset type group.

Specified by:
getResetGroup in interface JRElementDataset

getIncrementGroup

public JRGroup getIncrementGroup()
Description copied from interface: JRElementDataset
Gets the selected increment group in case of increment type group.

Specified by:
getIncrementGroup in interface JRElementDataset

getTimeZone

protected java.util.TimeZone getTimeZone()

initialize

protected void initialize()

evaluate

protected void evaluate(JRCalculator calculator)
                 throws JRExpressionEvalException
Throws:
JRExpressionEvalException

evaluateIncrementWhenExpression

protected void evaluateIncrementWhenExpression(JRCalculator calculator)
                                        throws JRExpressionEvalException
Throws:
JRExpressionEvalException

increment

protected void increment()

customInitialize

protected abstract void customInitialize()
Initializes the element dataset.

The dataset is initialized before being used and after each time the dataset gets reset.

See Also:
getResetTypeValue()

customEvaluate

protected abstract void customEvaluate(JRCalculator calculator)
                                throws JRExpressionEvalException
Evaluates the expressions associated with the dataset.

Usually, the result of the evaluation would be preserved so that it is used in customIncrement()

Parameters:
calculator - used to evaluate expressions
Throws:
JRExpressionEvalException - any exception that occurs while evaluating expressions

customIncrement

protected abstract void customIncrement()
Increments the dataset by collecting the result of the expression evaluation.


getDatasetRun

public JRDatasetRun getDatasetRun()
Description copied from interface: JRElementDataset
Returns the sub dataset run for this chart dataset.

Specified by:
getDatasetRun in interface JRElementDataset
Returns:
the sub dataset run for this chart dataset

evaluateDatasetRun

public void evaluateDatasetRun(byte evaluation)
                        throws JRException
Throws:
JRException

getInputDataset

public JRFillDataset getInputDataset()

getIncrementWhenExpression

public JRExpression getIncrementWhenExpression()
Description copied from interface: JRElementDataset
Returns the "increment when" expression.

This expression determines whether a dataset will be incremented or not.

The expression (if not null) is evaluated before each increment of the dataset. The increment will be carried on only when the result of the evaluation is Boolean.TRUE; if the result is null or false, the increment will not be performed.

Specified by:
getIncrementWhenExpression in interface JRElementDataset
Returns:
the "increment when" expression

clone

public java.lang.Object clone()
Specified by:
clone in interface JRCloneable
Overrides:
clone in class java.lang.Object

getFillDataset

public JRFillDataset getFillDataset()


© 2001-2010 Jaspersoft Corporation www.jaspersoft.com