Interface JRExtendedIncrementer

  • All Superinterfaces:
    JRIncrementer
    All Known Implementing Classes:
    JRAbstractExtendedIncrementer

    public interface JRExtendedIncrementer
    extends JRIncrementer
    Extended incrementer interface.

    The JRIncrementer has been kept for backward compatibility.

    The crosstab calculation engine requires extended incrementers. An incrementer implementing JRIncrementer can be used for report variables only.

    Author:
    Lucian Chirita (lucianc@users.sourceforge.net)
    • Method Detail

      • increment

        Object increment​(JRCalculable calculable,
                         Object expressionValue,
                         AbstractValueProvider valueProvider)
                  throws JRException
        Increments a calculable object with a value.
        Parameters:
        calculable - the calculable
        expressionValue - the value
        valueProvider - value provider
        Returns:
        the incremented value
        Throws:
        JRException
      • initialValue

        Object initialValue()
        Returns the initial value for this calculation.

        This method should return a neutral value for this calculation (e.g. 0 for sum, 1 for product, etc) or a default value if no neutral value exists.

        Returns:
        the initial value for this calculation
      • combine

        Object combine​(JRCalculable calculable,
                       JRCalculable calculableValue,
                       AbstractValueProvider valueProvider)
                throws JRException
        Combines two calculated values into one.
        Parameters:
        calculable - the first calculated value
        calculableValue - the second calculated value
        valueProvider - the value provider used for the helper variables
        Returns:
        the combined value
        Throws:
        JRException
      • ignoresNullValues

        boolean ignoresNullValues()
        Specifies whether null values are ignored by this incrementer. If null values are ignored, the caller can chose to skip incrementing a calculation with a null value.
        Returns:
        whether null values are ignored by this incrementer