Package org.pentaho.reporting.libraries.formula

## Interface FormulaContext

- All Known Implementing Classes:
    `DefaultFormulaContext`

      public interface FormulaContext

  The formula-context connects the formula functions with the outside world. The context can be used to resolve external references, to query the configuration or to retrieve information about the formula-evaluation system.
  Author:
    Thomas Morgner

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Configuration` | `getConfiguration()` | Returns the local configuration of the formula.
    `FunctionRegistry` | `getFunctionRegistry()` | Returns the function registry.
    `LocalizationContext` | `getLocalizationContext()` | Returns the localization context of this formula.
    `OperatorFactory` | `getOperatorFactory()` | Returns the operator registry.
    `TypeRegistry` | `getTypeRegistry()` | Returns the type registry.
    `boolean` | `isReferenceDirty​(java.lang.Object name)` | Checks whether the external object referenced by `name` has changed.
    `java.lang.Object` | `resolveReference​(java.lang.Object name)` | Resolves the given reference.
    `Type` | `resolveReferenceType​(java.lang.Object name)` | Queries the type of the given reference.

- - ### Method Detail

    - #### isReferenceDirty

          boolean isReferenceDirty​(java.lang.Object name)
                            throws ContextEvaluationException

      Checks whether the external object referenced by `name` has changed.
      Parameters:
        `name` - the name that identifies the reference.
      Returns:
        true, if the reference has changed, false otherwise.
      Throws:
        `ContextEvaluationException` - if an error occurs.

    - #### resolveReference

          java.lang.Object resolveReference​(java.lang.Object name)
                                     throws ContextEvaluationException

      Resolves the given reference. How the name is interpreted by the outside system is an implementation detail.
      Parameters:
        `name` - the name that identifies the reference.
      Returns:
        the resolved object.
      Throws:
        `ContextEvaluationException` - if an error occurs.

    - #### resolveReferenceType

          Type resolveReferenceType​(java.lang.Object name)
                             throws ContextEvaluationException

      Queries the type of the given reference. How the name is interpreted by the outside system is an implementation detail. This return a LibFormula type object matching the type of the object that would be returned by resolveReference.
      Parameters:
        `name` - the name that identifies the reference.
      Returns:
        the type of the resolved object.
      Throws:
        `ContextEvaluationException` - if an error occurs.

    - #### getLocalizationContext

          LocalizationContext getLocalizationContext()

      Returns the localization context of this formula. The localization context can be used to query locale specific configuration settings.
      Returns:
        the localization context.

    - #### getConfiguration

          Configuration getConfiguration()

      Returns the local configuration of the formula.
      Returns:
        the local configuration.

    - #### getFunctionRegistry

          FunctionRegistry getFunctionRegistry()

      Returns the function registry. The function registry grants access to all formula-function implementations.
      Returns:
        the function registry.

    - #### getTypeRegistry

          TypeRegistry getTypeRegistry()

      Returns the type registry. The type registry contains all type information and allows to convert values between different types.
      Returns:
        the function registry.

    - #### getOperatorFactory

          OperatorFactory getOperatorFactory()

      Returns the operator registry. The Operator-registry contains all operator-implementations.
      Returns:
        the operator registry.