Class RowBandingFunction

  • All Implemented Interfaces:
    Serializable, Cloneable, EventListener, PageEventListener, ReportListener, Expression, Function, LayoutProcessorFunction

    public class RowBandingFunction
    extends AbstractFunction
    implements PageEventListener, LayoutProcessorFunction
    A function that alternates the background-color for each item-band within a group. If the function evaluates to true, then the background of the named element will be set to the visible-color, else it will be set to the invisible-color.

    The ElementVisibilitySwitchFunction defines two parameters:

    • element

      The name of the element in the itemband that should be modified. The element(s) must be named using the "name" attribute, if no name is given here, the ItemBand's background color is defined instead.

    • initial-state

      The initial state of the function. (true or false) defaults to false. This is the reverse of the element's visiblity (set to false to start with an visible element, set to true to hide the element in the first itemrow).

    Author:
    Thomas Morgner, Michael D'Amour
    See Also:
    Serialized Form
    • Constructor Detail

      • RowBandingFunction

        public RowBandingFunction()
        Default constructor.
    • Method Detail

      • pageStarted

        public void pageStarted​(ReportEvent event)
        Receives notification that a page has started.
        Specified by:
        pageStarted in interface PageEventListener
        Parameters:
        event - the event.
      • pageFinished

        public void pageFinished​(ReportEvent event)
        Receives notification that a page is completed.
        Specified by:
        pageFinished in interface PageEventListener
        Parameters:
        event - The event.
      • reportInitialized

        public void reportInitialized​(ReportEvent event)
        Receives notification that report generation initializes the current run.

        The event carries a ReportState.Started state. Use this to initialize the report.

        Specified by:
        reportInitialized in interface ReportListener
        Overrides:
        reportInitialized in class AbstractFunction
        Parameters:
        event - The event.
      • itemsStarted

        public void itemsStarted​(ReportEvent event)
        Receives notification that the items are being processed. Sets the function value to false.

        Following this event, there will be a sequence of itemsAdvanced events until the itemsFinished event is raised.

        Specified by:
        itemsStarted in interface ReportListener
        Overrides:
        itemsStarted in class AbstractFunction
        Parameters:
        event - Information about the event.
      • itemsAdvanced

        public void itemsAdvanced​(ReportEvent event)
        Triggers the visibility of an element. If the named element was visible at the last itemsAdvanced call, it gets now invisible and vice versa. This creates the effect, that an element is printed every other line.
        Specified by:
        itemsAdvanced in interface ReportListener
        Overrides:
        itemsAdvanced in class AbstractFunction
        Parameters:
        event - the report event.
      • isIgnoreCrosstabMode

        public boolean isIgnoreCrosstabMode()
      • setIgnoreCrosstabMode

        public void setIgnoreCrosstabMode​(boolean ignoreCrosstabMode)
      • getInvisibleBackground

        public Color getInvisibleBackground()
        Returns the background color that is used if the row-banding background should be invisible.
        Returns:
        a color.
      • setInvisibleBackground

        public void setInvisibleBackground​(Color invisibleBackground)
        Defines the background color that is used if the row-banding background should be invisible.
        Parameters:
        invisibleBackground - a color.
      • getVisibleBackground

        public Color getVisibleBackground()
        Returns the background color that is used if the row-banding background should be visible.
        Returns:
        a color.
      • setVisibleBackground

        public void setVisibleBackground​(Color visibleBackground)
        Defines the background color that is used if the row-banding background should be visible.
        Parameters:
        visibleBackground - a color.
      • getNumberOfElements

        public int getNumberOfElements()
        Returns the number of rows that must be processed before the visibility can switch again.
        Returns:
        a row count.
      • setNumberOfElements

        public void setNumberOfElements​(int numberOfElements)
        Defines the number of rows that must be processed before the visibility can switch again.
        Parameters:
        numberOfElements - a row count.
      • getInitialState

        public boolean getInitialState()
        Returns the initial visibility that is used on the start of a new report, a new group or a new page.
        Returns:
        the initial value for the trigger.
      • setInitialState

        public void setInitialState​(boolean initialState)
        Defines the initial visibility that is used on the start of a new report, a new group or a new page.
        Parameters:
        initialState - the initial value for the trigger.
      • getElement

        public String getElement()
        Returns the element name.
        Returns:
        The element name.
        See Also:
        setElement(String)
      • getGroup

        public String getGroup()
      • setGroup

        public void setGroup​(String group)
      • getNewPageState

        public Boolean getNewPageState()
        Returns the visibility state that should be used on new pages. This is only used if resetOnPageStart is set to true. If this value is not defined, the initialState is used.
        Returns:
        the state on new pages.
      • setNewPageState

        public void setNewPageState​(Boolean newPageState)
        Defines the visibility state that should be used on new pages. This is only used if resetOnPageStart is set to true. If this value is not defined, the initialState is used.
        Parameters:
        newPageState - the state on new pages or null to use the initialState.
      • getValue

        public Object getValue()
        Returns the defined visibility of the element. Returns either true or false as java.lang.Boolean.
        Specified by:
        getValue in interface Expression
        Returns:
        the visibility of the element, either Boolean.TRUE or Boolean.FALSE.