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

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.TotalItemCountFunction
All Implemented Interfaces:
Serializable, Cloneable, EventListener, ReportListener, AggregationFunction, Expression, Function
Direct Known Subclasses:
TotalPageItemCountFunction

public class TotalItemCountFunction
extends AbstractFunction
implements AggregationFunction

A report function that counts the total number of items contained in groups in a report. If no groupname is given, all items of the report are counted.

Like all Total-Functions, this function produces a precomputed grand total. The function's result is precomputed once and will not change later. Printing the result of this function in a group header returns the same value as printed in the group-footer.

The ItemCount can be used to produce a running row-count for a group or report.

To count the number of groups in a report, use the TotalGroupCountFunction.

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
TotalItemCountFunction()
          Default constructor.
 
Method Summary
 String getGroup()
          Returns the name of the group to be totalled.
 Expression getInstance()
          Return a completly separated copy of this function.
 Object getValue()
          Returns the number of items counted (so far) by the function.
 void groupStarted(ReportEvent event)
          Receives notification that a group has started.
 void itemsAdvanced(ReportEvent event)
          Receives notification that a row of data is being processed.
 void reportInitialized(ReportEvent event)
          Receives notification that the report has started.
 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
groupFinished, itemsFinished, itemsStarted, reportDone, reportFinished, 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.event.ReportListener
groupFinished, itemsFinished, itemsStarted, reportDone, reportFinished, reportStarted
 
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

TotalItemCountFunction

public TotalItemCountFunction()
Default constructor.

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.

itemsAdvanced

public void itemsAdvanced(ReportEvent event)
Receives notification that a row of data is being processed.

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

getGroup

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

Specified by:
getGroup in interface AggregationFunction
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.

Specified by:
setGroup in interface AggregationFunction
Parameters:
group - the group name.

getValue

public Object getValue()
Returns the number of items counted (so far) by the function. This is either the number of items in the report, or the group (if a group has been defined for the function).

Specified by:
getValue in interface Expression
Returns:
The item count.

getInstance

public Expression getInstance()
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.