Package 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

## Constructor Summary

Constructors
Constructor
Description
`Term(LValue headValue)`

## Method Summary

Modifier and Type
Method
Description
`void`
`add(InfixOperator operator, LValue operand)`
`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.
`String`
`toString()`

### Methods inherited from class org.pentaho.reporting.libraries.formula.lvalues.AbstractLValue

`getContext, getValueType, setParsePosition`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### Term

public Term(LValue headValue)

## Method Details

### 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`