org.pentaho.reporting.engine.classic.core.function
Class TotalCalculationFunction

java.lang.Object
  extended by org.pentaho.reporting.engine.classic.core.function.AbstractExpression
      extended by org.pentaho.reporting.engine.classic.core.function.AbstractFunction
          extended by org.pentaho.reporting.engine.classic.core.function.TotalCalculationFunction
All Implemented Interfaces:
Serializable, Cloneable, EventListener, ReportListener, Expression, Function

public class TotalCalculationFunction
extends AbstractFunction

A report function that stores the result of a calculation for a group or the complete report. This function can be used to convert simple running-functions into total-functions by wrapping them up. The wrapped up function will be evaluated as usual and the result at the end of the report and/or end of the group will be stored in the TotalCalculationFunction.

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
TotalCalculationFunction()
          Constructs a new function.
 
Method Summary
 String getField()
          Returns the field used by the function.
 String getGroup()
          Returns the name of the group to be totalled.
 Expression getInstance()
          Return a completly separated copy of this function.
 Object getValue()
          Return the current expression value.
 void groupFinished(ReportEvent event)
          Receives notification that a group has finished.
 void groupStarted(ReportEvent event)
          Receives notification that a group has started.
 void reportFinished(ReportEvent event)
          Receives notification that the report has finished.
 void reportInitialized(ReportEvent event)
          Receives notification that the report has started.
 void setField(String field)
          Sets the field name for the function.
 void setGroup(String group)
          Defines the name of the group to be totalled.
 
Methods inherited from class org.pentaho.reporting.engine.classic.core.function.AbstractFunction
itemsAdvanced, itemsFinished, itemsStarted, reportDone, reportStarted
 
Methods inherited from class org.pentaho.reporting.engine.classic.core.function.AbstractExpression
clone, getDataRow, getDependencyLevel, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, isDeepTraversing, isPreserve, setActive, setDependencyLevel, setName, setPreserve, setRuntime
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.reporting.engine.classic.core.function.Expression
clone, getDataRow, getDependencyLevel, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, isDeepTraversing, isPreserve, setDependencyLevel, setName, setRuntime
 

Constructor Detail

TotalCalculationFunction

public TotalCalculationFunction()
Constructs a new function.

Initially the function has no name...be sure to assign one before using the function.

Method Detail

reportInitialized

public void reportInitialized(ReportEvent event)
Receives notification that the report has started.

Specified by:
reportInitialized in interface ReportListener
Overrides:
reportInitialized in class AbstractFunction
Parameters:
event - the event.

groupStarted

public void groupStarted(ReportEvent event)
Receives notification that a group has started.

Specified by:
groupStarted in interface ReportListener
Overrides:
groupStarted in class AbstractFunction
Parameters:
event - the event.

groupFinished

public void groupFinished(ReportEvent event)
Receives notification that a group has finished.

Specified by:
groupFinished in interface ReportListener
Overrides:
groupFinished in class AbstractFunction
Parameters:
event - the event.

reportFinished

public void reportFinished(ReportEvent event)
Receives notification that the report has finished.

Specified by:
reportFinished in interface ReportListener
Overrides:
reportFinished in class AbstractFunction
Parameters:
event - the event.

getGroup

public String getGroup()
Returns the name of the group to be totalled.

Returns:
the group name.

setGroup

public void setGroup(String group)
Defines the name of the group to be totalled. If the name is null, all groups are totalled.

Parameters:
group - the group name.

getField

public String getField()
Returns the field used by the function. The field name corresponds to a column name in the report's data-row.

Returns:
The field name.

setField

public void setField(String field)
Sets the field name for the function. The field name corresponds to a column name in the report's data-row.

Parameters:
field - the field name.

getValue

public Object getValue()
Return the current expression value.

The value depends (obviously) on the expression implementation.

Returns:
the value of the function.

getInstance

public Expression getInstance()
Description copied from class: AbstractExpression
Return a completly separated copy of this function. The copy does no longer share any changeable objects with the original function.

Specified by:
getInstance in interface Expression
Overrides:
getInstance in class AbstractExpression
Returns:
a copy of this function.