Class 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 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.
      • 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 interface ReportListener
        Overrides:
        groupStarted 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.
      • 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.