org.jfree.report.function
Class TotalItemCountFunction

java.lang.Object
  |
  +--org.jfree.report.function.AbstractExpression
        |
        +--org.jfree.report.function.AbstractFunction
              |
              +--org.jfree.report.function.TotalItemCountFunction

public class TotalItemCountFunction
extends AbstractFunction
implements java.io.Serializable

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

A group can be defined using the property "group". If the group property is not set, all group starts get counted.

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
TotalItemCountFunction()
          Default constructor.
 
Method Summary
protected  int getCount()
          Returns the current group count value.
 java.lang.String getGroup()
          Returns the name of the group to be totalled.
 Expression getInstance()
          Return a completly separated copy of this function.
 java.lang.Object getValue()
          Returns the number of items counted (so far) by the function.
 void groupStarted(ReportEvent event)
          Receives notification that a new group is about to start.
 void itemsAdvanced(ReportEvent event)
          Received notification of a move to the next row of data.
 void reportInitialized(ReportEvent event)
          Receives notification that a new report is about to start.
protected  void setCount(int count)
          Defines the current group count value.
 void setGroup(java.lang.String group)
          Defines the name of the group to be totalled.
 
Methods inherited from class org.jfree.report.function.AbstractFunction
clone, groupFinished, itemsFinished, itemsStarted, reportDone, reportFinished, reportStarted
 
Methods inherited from class org.jfree.report.function.AbstractExpression
getDataRow, getDependencyLevel, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, setActive, setDependencyLevel, setName, setRuntime
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TotalItemCountFunction

public TotalItemCountFunction()
Default constructor.
Method Detail

reportInitialized

public void reportInitialized(ReportEvent event)
Receives notification that a new report is about to start. Resets the count.
Overrides:
reportInitialized in class AbstractFunction
Parameters:
event - the current report event received.

getCount

protected int getCount()
Returns the current group count value.
Returns:
the curernt group count.

groupStarted

public void groupStarted(ReportEvent event)
Receives notification that a new group is about to start. Increases the count if all groups are counted or the name defines the current group.
Overrides:
groupStarted in class AbstractFunction
Parameters:
event - the current report event received.

setCount

protected void setCount(int count)
Defines the current group count value.
Parameters:
count - the curernt group count.

getGroup

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

setGroup

public void setGroup(java.lang.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.

itemsAdvanced

public void itemsAdvanced(ReportEvent event)
Received notification of a move to the next row of data. Increments the item count.
Overrides:
itemsAdvanced in class AbstractFunction
Parameters:
event - Information about the event.

getValue

public java.lang.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).
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.
Overrides:
getInstance in class AbstractExpression
Returns:
a copy of this function.