org.pentaho.reporting.libraries.formula.lvalues
Class Term
java.lang.Object
org.pentaho.reporting.libraries.formula.lvalues.AbstractLValue
org.pentaho.reporting.libraries.formula.lvalues.Term
- All Implemented Interfaces:
- Serializable, Cloneable, LValue
public class Term
- extends AbstractLValue
An term is a list of LValues connected by operators. For the sake of efficiency, this is not stored as tree. We store
the term as a list in the following format: (headValue)(OP value)* ...
- Author:
- Thomas Morgner
- See Also:
- Serialized Form
Term
public Term(LValue headValue)
evaluate
public TypeValuePair evaluate()
throws EvaluationException
- Throws:
EvaluationException
add
public void add(InfixOperator operator,
LValue operand)
initialize
public void initialize(FormulaContext context)
throws EvaluationException
- Specified by:
initialize
in interface LValue
- Overrides:
initialize
in class AbstractLValue
- Throws:
EvaluationException
getChildValues
public LValue[] getChildValues()
- Returns any dependent lvalues (parameters and operands, mostly).
- Specified by:
getChildValues
in interface LValue
- Overrides:
getChildValues
in class AbstractLValue
- Returns:
toString
public String toString()
- Overrides:
toString
in class Object
isConstant
public boolean isConstant()
- Checks whether the LValue is constant. Constant lvalues always return the same value.
- Returns:
clone
public Object clone()
throws CloneNotSupportedException
- Specified by:
clone
in interface LValue
- Overrides:
clone
in class AbstractLValue
- Throws:
CloneNotSupportedException
getOperands
public LValue[] getOperands()
getOperators
public InfixOperator[] getOperators()
getHeadValue
public LValue getHeadValue()
getOptimizedHeadValue
public LValue getOptimizedHeadValue()
- Allows access to the post optimized head value note that without the optimization, it's difficult to traverse
libformula's object model.
- Returns:
- optimized head value
getParsePosition
public ParsePosition getParsePosition()
- Specified by:
getParsePosition
in interface LValue
- Overrides:
getParsePosition
in class AbstractLValue