org.jfree.report.expressions
Class FormulaFunction

java.lang.Object
  extended by org.jfree.report.expressions.AbstractExpression
      extended by org.jfree.report.expressions.FormulaFunction
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Expression, Function

public class FormulaFunction
extends AbstractExpression
implements Function

Creation-Date: 04.11.2006, 19:24:04

Author:
Thomas Morgner
See Also:
Serialized Form

Constructor Summary
FormulaFunction()
           
 
Method Summary
 Function advance()
          When the advance method is called, the function is asked to perform the next step of its computation.
 java.lang.Object clone()
          Clones the expression, expression should be reinitialized after the cloning.
 java.lang.Object computeValue()
          Return the current expression value.
 org.pentaho.reporting.libraries.formula.Formula getCompiledFormula()
          Returns the compiled formula.
 java.lang.String getFormula()
           
 java.lang.String getFormulaExpression()
           
 java.lang.String getFormulaNamespace()
           
 java.lang.String getInitial()
           
 java.lang.String getInitialExpression()
           
 java.lang.String getInitialNamespace()
           
 void setFormula(java.lang.String formula)
           
 void setInitial(java.lang.String initial)
           
 
Methods inherited from class org.jfree.report.expressions.AbstractExpression
getDataRow, getInstance, getName, getParentLocale, getReportConfiguration, getResourceBundleFactory, getRuntime, isDeepTraversing, isPrecompute, isPreserve, setDeepTraversing, setName, setPrecompute, setPreserve, setRuntime
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jfree.report.expressions.Expression
getInstance, getName, isDeepTraversing, isPrecompute, isPreserve, setDeepTraversing, setName, setPrecompute, setPreserve, setRuntime
 

Constructor Detail

FormulaFunction

public FormulaFunction()
Method Detail

getInitial

public java.lang.String getInitial()

getInitialExpression

public java.lang.String getInitialExpression()

getInitialNamespace

public java.lang.String getInitialNamespace()

setInitial

public void setInitial(java.lang.String initial)

getFormula

public java.lang.String getFormula()

getFormulaNamespace

public java.lang.String getFormulaNamespace()

getFormulaExpression

public java.lang.String getFormulaExpression()

setFormula

public void setFormula(java.lang.String formula)

advance

public 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).

Specified by:
advance in interface Function
Returns:
a copy of the function containing the new state.
Throws:
DataSourceException

computeValue

public java.lang.Object computeValue()
                              throws DataSourceException
Return the current expression value.

The value depends (obviously) on the expression implementation.

Specified by:
computeValue in interface Expression
Returns:
the value of the function.
Throws:
DataSourceException

clone

public java.lang.Object clone()
                       throws java.lang.CloneNotSupportedException
Clones the expression, expression should be reinitialized after the cloning.

Expression maintain no state, cloning is done at the beginning of the report processing to disconnect the used expression from any other object space.

Specified by:
clone in interface Expression
Overrides:
clone in class AbstractExpression
Returns:
A clone of this expression.
Throws:
java.lang.CloneNotSupportedException - this should never happen.

getCompiledFormula

public org.pentaho.reporting.libraries.formula.Formula getCompiledFormula()
                                                                   throws org.pentaho.reporting.libraries.formula.parser.ParseException
Returns the compiled formula. The formula is not connected to a formula context.

Returns:
the formula.
Throws:
org.pentaho.reporting.libraries.formula.parser.ParseException - if the formula contains syntax errors.