Package 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

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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()