org.jfree.report.expressions
Interface Function

All Superinterfaces:
java.lang.Cloneable, Expression, java.io.Serializable
All Known Implementing Classes:
FormulaFunction

public interface Function
extends Expression

The interface for report functions. A report function separates the business logic from presentation of the result.

Since JFreeReport 0.9 functions are considered immutable. During the advancement process, the function returns a new instance with the updated state.

Author:
Thomas Morgner

Method Summary
 Function advance()
          When the advance method is called, the function is asked to perform the next step of its computation.
 
Methods inherited from interface org.jfree.report.expressions.Expression
clone, computeValue, getInstance, getName, isDeepTraversing, isPrecompute, isPreserve, setDeepTraversing, setName, setPrecompute, setPreserve, setRuntime
 

Method Detail

advance

Function advance()
                 throws DataSourceException
When the advance method is called, the function is asked to perform the next step of its computation.

The original function must not be altered during that step (or more correctly, calling advance on the original expression again must not return a different result).

Returns:
a copy of the function containing the new state.
Throws:
DataSourceException