Class Term
- java.lang.Object
-
- org.pentaho.reporting.libraries.formula.lvalues.AbstractLValue
-
- org.pentaho.reporting.libraries.formula.lvalues.Term
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.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
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(InfixOperator operator, LValue operand)
java.lang.Object
clone()
TypeValuePair
evaluate()
LValue[]
getChildValues()
Returns any dependent lvalues (parameters and operands, mostly).LValue
getHeadValue()
LValue[]
getOperands()
InfixOperator[]
getOperators()
LValue
getOptimizedHeadValue()
Allows access to the post optimized head value note that without the optimization, it's difficult to traverse libformula's object model.ParsePosition
getParsePosition()
void
initialize(FormulaContext context)
boolean
isConstant()
Checks whether the LValue is constant.java.lang.String
toString()
-
Methods inherited from class org.pentaho.reporting.libraries.formula.lvalues.AbstractLValue
getContext, getValueType, setParsePosition
-
-
-
-
Constructor Detail
-
Term
public Term(LValue headValue)
-
-
Method Detail
-
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 interfaceLValue
- Overrides:
initialize
in classAbstractLValue
- Throws:
EvaluationException
-
getChildValues
public LValue[] getChildValues()
Returns any dependent lvalues (parameters and operands, mostly).- Specified by:
getChildValues
in interfaceLValue
- Overrides:
getChildValues
in classAbstractLValue
- Returns:
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
isConstant
public boolean isConstant()
Checks whether the LValue is constant. Constant lvalues always return the same value.- Returns:
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException
- Specified by:
clone
in interfaceLValue
- Overrides:
clone
in classAbstractLValue
- Throws:
java.lang.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 interfaceLValue
- Overrides:
getParsePosition
in classAbstractLValue
-
-