org.jfree.report.function
Class TotalGroupSumFunction

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

public class TotalGroupSumFunction
extends AbstractFunction
implements java.io.Serializable

A report function that calculates the sum of one field (column) from the TableModel. This function produces a global total. The total sum of the group is known when the group processing starts and the report is not performing a prepare-run. The sum is calculated in the prepare run and recalled in the printing run.

The function can be used in two ways:

This function expects its input values to be either java.lang.Number instances or Strings that can be parsed to java.lang.Number instances using a java.text.DecimalFormat.

The function undestands two parameters, the field parameter is required and denotes the name of an ItemBand-field which gets summed up.

The parameter group denotes the name of a group. When this group is started, the counter gets reseted to null. This parameter is optional.

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
TotalGroupSumFunction()
          Constructs a new function.
 
Method Summary
 java.lang.String getField()
          Returns the field used by the function.
 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()
          Return the current function value.
 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 setField(java.lang.String field)
          Sets the field name for the function.
 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

TotalGroupSumFunction

public TotalGroupSumFunction()
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.
Overrides:
reportInitialized in class AbstractFunction
Parameters:
event - the event.

groupStarted

public void groupStarted(ReportEvent event)
Receives notification that a group has started.
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.
Overrides:
itemsAdvanced in class AbstractFunction
Parameters:
event - the event.

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.

getValue

public java.lang.Object getValue()
Return the current function value.

The value depends (obviously) on the function implementation. For example, a page counting function will return the current page number.

Returns:
The value of the function.

getField

public java.lang.String getField()
Returns the field used by the function.

The field name corresponds to a column name in the report's TableModel.

Returns:
The field name.

setField

public void setField(java.lang.String field)
Sets the field name for the function.

The field name corresponds to a column name in the report's TableModel.

Parameters:
field - the field name (null not permitted).

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.