Class GroupCountFunction
- java.lang.Object
-
- org.pentaho.reporting.engine.classic.core.function.AbstractExpression
-
- org.pentaho.reporting.engine.classic.core.function.AbstractFunction
-
- org.pentaho.reporting.engine.classic.core.function.GroupCountFunction
-
- All Implemented Interfaces:
Serializable
,Cloneable
,EventListener
,ReportListener
,Expression
,Function
- Direct Known Subclasses:
TotalGroupCountFunction
public class GroupCountFunction extends AbstractFunction
A report function that counts groups in a report. If a null-groupname is given, all groups are counted. The group to be counted can be defined using the property "group". An optional container group can be defined using the property "parent-group". When the group start event of that group is encountered, the counter will be reset to '0'. If the group property is not set, all group starts get counted.- Author:
- David Gilbert
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description GroupCountFunction()
Default constructor.GroupCountFunction(String name, String group)
Constructs a report function for counting groups.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
getCount()
Returns the current group count value.String
getGroup()
Returns the name of the group to be counted.String
getParentGroup()
Returns the name of the group on which to reset the counter.Object
getValue()
Returns the number of groups processed so far (including the current group).void
groupStarted(ReportEvent event)
Receives notification that a new group is about to start.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(String group)
defines the name of the group to be counted.void
setParentGroup(String group)
defines the name of the group on which to reset the counter.-
Methods inherited from class org.pentaho.reporting.engine.classic.core.function.AbstractFunction
groupFinished, itemsAdvanced, itemsFinished, itemsStarted, reportDone, reportFinished, reportStarted, summaryRowSelection
-
Methods inherited from class org.pentaho.reporting.engine.classic.core.function.AbstractExpression
clone, getDataRow, getDependencyLevel, getInstance, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, isDeepTraversing, isPreserve, setActive, setDependencyLevel, setName, setPreserve, setRuntime
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.pentaho.reporting.engine.classic.core.function.Expression
clone, getDataRow, getDependencyLevel, getInstance, getName, getReportConfiguration, getResourceBundleFactory, getRuntime, isActive, isDeepTraversing, isPreserve, setDependencyLevel, setName, setRuntime
-
-
-
-
Constructor Detail
-
GroupCountFunction
public GroupCountFunction()
Default constructor.
-
GroupCountFunction
public GroupCountFunction(String name, String group)
Constructs a report function for counting groups.- Parameters:
name
- The function name.group
- The group name.- Throws:
NullPointerException
- if the given name is null
-
-
Method Detail
-
getParentGroup
public String getParentGroup()
Returns the name of the group on which to reset the counter.- Returns:
- the name of the group or null, if all groups are counted
-
setParentGroup
public void setParentGroup(String group)
defines the name of the group on which to reset the counter. If the name is null, all groups are counted.- Parameters:
group
- the name of the group to be counted.
-
getGroup
public String getGroup()
Returns the name of the group to be counted.- Returns:
- the name of the group or null, if all groups are counted
-
setGroup
public void setGroup(String group)
defines the name of the group to be counted. If the name is null, all groups are counted.- Parameters:
group
- the name of the group to be counted.
-
reportInitialized
public void reportInitialized(ReportEvent event)
Receives notification that a new report is about to start. Resets the count.- Specified by:
reportInitialized
in interfaceReportListener
- Overrides:
reportInitialized
in classAbstractFunction
- Parameters:
event
- the current report event received.
-
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.- Specified by:
groupStarted
in interfaceReportListener
- Overrides:
groupStarted
in classAbstractFunction
- Parameters:
event
- the current report event received.
-
getCount
protected int getCount()
Returns the current group count value.- Returns:
- the curernt group count.
-
setCount
protected void setCount(int count)
Defines the current group count value.- Parameters:
count
- the curernt group count.
-
getValue
public Object getValue()
Returns the number of groups processed so far (including the current group).- Returns:
- the number of groups processed as java.lang.Integer.
-
-