## org.pentaho.reporting.libraries.formula.lvalues
Interface LValue

All Superinterfaces:
  java.lang.Cloneable, java.io.Serializable

All Known Subinterfaces:
  DataTable

All Known Implementing Classes:
  AbstractLValue, ContextLookup, DefaultDataTable, FormulaFunction, PostfixTerm, PrefixTerm, StaticValue, Term

    public interface LValue

extends java.io.Serializable, java.lang.Cloneable

A reference is an indirection to hide the details of where the actual value came from. The reference is responsible to report dependencies.

Author:
  Thomas Morgner

Method Summary
`java.lang.Object` `clone()`
`TypeValuePair` `evaluate()`
`LValue[]` `getChildValues()` Returns any dependent lvalues (parameters and operands, mostly).
`ParsePosition` `getParsePosition()`
`Type` `getValueType()` Querying the value type is only valid *after* the value has been evaluated.
`void` `initialize(FormulaContext context)`
`boolean` `isConstant()` Checks whether the LValue is constant.

Method Detail

### initialize

    void initialize(FormulaContext context)
                    throws EvaluationException

  Throws:
    `EvaluationException`

### evaluate

    TypeValuePair evaluate()
                           throws EvaluationException

  Throws:
    `EvaluationException`

### clone

    java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Throws:
    `java.lang.CloneNotSupportedException`

### getValueType

    Type getValueType()

  Querying the value type is only valid *after* the value has been evaluated.

  Returns:

### getChildValues

    LValue[] getChildValues()

  Returns any dependent lvalues (parameters and operands, mostly).

  Returns:

### isConstant

    boolean isConstant()

  Checks whether the LValue is constant. Constant lvalues always return the same value.

  Returns:

### getParsePosition

    ParsePosition getParsePosition()