Package org.zkoss.zel

## Class ELContext

- java.lang.Object
- - org.zkoss.zel.ELContext

- Direct Known Subclasses:
    `EvaluationContext`, `StandardELContext`, `XelELContext`

      public abstract class ELContext
      extends java.lang.Object

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ELContext()` |

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addEvaluationListener​(EvaluationListener listener)` | Register an EvaluationListener with this ELContext.
    `java.lang.Object` | `convertToType​(java.lang.Object obj, java.lang.Class<?> type)` | Coerce the supplied object to the requested type.
    `void` | `enterLambdaScope​(java.util.Map<java.lang.String,​java.lang.Object> arguments)` | Called when starting to evaluate a lambda expression so that the arguments are available to the EL context during evaluation.
    `void` | `exitLambdaScope()` | Called after evaluating a lambda expression to signal that the arguments are no longer required.
    `java.lang.Object` | `getContext​(java.lang.Class key)` | Obtain the context object for the given key.
    `abstract ELResolver` | `getELResolver()` |
    `java.util.List<EvaluationListener>` | `getEvaluationListeners()` | Obtain the list of registered EvaluationListeners.
    `abstract FunctionMapper` | `getFunctionMapper()` |
    `ImportHandler` | `getImportHandler()` | Obtain the ImportHandler for this ELContext, creating one if necessary.
    `java.lang.Object` | `getLambdaArgument​(java.lang.String name)` | Obtain the value of the lambda argument with the given name.
    `java.util.Locale` | `getLocale()` |
    `abstract VariableMapper` | `getVariableMapper()` |
    `boolean` | `isLambdaArgument​(java.lang.String name)` | Determine if the specified name is recognised as the name of a lambda argument.
    `boolean` | `isPropertyResolved()` |
    `void` | `notifyAfterEvaluation​(java.lang.String expression)` | Notify interested listeners that an expression has been evaluated.
    `void` | `notifyBeforeEvaluation​(java.lang.String expression)` | Notify interested listeners that an expression will be evaluated.
    `void` | `notifyPropertyResolved​(java.lang.Object base, java.lang.Object property)` | Notify interested listeners that a property has been resolved.
    `void` | `putContext​(java.lang.Class key, java.lang.Object contextObject)` | Add an object to this EL context under the given key.
    `void` | `setLocale​(java.util.Locale locale)` |
    `void` | `setPropertyResolved​(boolean resolved)` |
    `void` | `setPropertyResolved​(java.lang.Object base, java.lang.Object property)` | Mark the given property as resolved and notfy any interested listeners.

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ELContext

          public ELContext()

  - ### Method Detail

    - #### setPropertyResolved

          public void setPropertyResolved​(boolean resolved)

    - #### setPropertyResolved

          public void setPropertyResolved​(java.lang.Object base,
                                          java.lang.Object property)

      Mark the given property as resolved and notfy any interested listeners.
      Parameters:
        `base` - The base object on which the property was found
        `property` - The property that was resolved
      Since:
        EL 3.0

    - #### isPropertyResolved

          public boolean isPropertyResolved()

    - #### putContext

          public void putContext​(java.lang.Class key,
                                 java.lang.Object contextObject)

      Add an object to this EL context under the given key.
      Parameters:
        `key` - The key under which to store the object
        `contextObject` - The object to add
      Throws:
        `java.lang.NullPointerException` - If the supplied key or context is `null`

    - #### getContext

          public java.lang.Object getContext​(java.lang.Class key)

      Obtain the context object for the given key.
      Parameters:
        `key` - The key of the required context object
      Returns:
        The value of the context object associated with the given key
      Throws:
        `java.lang.NullPointerException` - If the supplied key is `null`

    - #### getELResolver

          public abstract ELResolver getELResolver()

    - #### getImportHandler

          public ImportHandler getImportHandler()

      Obtain the ImportHandler for this ELContext, creating one if necessary. This method is not thread-safe.
      Returns:
        the ImportHandler for this ELContext.
      Since:
        EL 3.0

    - #### getFunctionMapper

          public abstract FunctionMapper getFunctionMapper()

    - #### getLocale

          public java.util.Locale getLocale()

    - #### setLocale

          public void setLocale​(java.util.Locale locale)

    - #### getVariableMapper

          public abstract VariableMapper getVariableMapper()

    - #### addEvaluationListener

          public void addEvaluationListener​(EvaluationListener listener)

      Register an EvaluationListener with this ELContext.
      Parameters:
        `listener` - The EvaluationListener to register
      Since:
        EL 3.0

    - #### getEvaluationListeners

          public java.util.List<EvaluationListener> getEvaluationListeners()

      Obtain the list of registered EvaluationListeners.
      Returns:
        A list of the EvaluationListener registered with this ELContext
      Since:
        EL 3.0

    - #### notifyBeforeEvaluation

          public void notifyBeforeEvaluation​(java.lang.String expression)

      Notify interested listeners that an expression will be evaluated.
      Parameters:
        `expression` - The expression that will be evaluated
      Since:
        EL 3.0

    - #### notifyAfterEvaluation

          public void notifyAfterEvaluation​(java.lang.String expression)

      Notify interested listeners that an expression has been evaluated.
      Parameters:
        `expression` - The expression that was evaluated
      Since:
        EL 3.0

    - #### notifyPropertyResolved

          public void notifyPropertyResolved​(java.lang.Object base,
                                             java.lang.Object property)

      Notify interested listeners that a property has been resolved.
      Parameters:
        `base` - The object on which the property was resolved
        `property` - The property that was resolved
      Since:
        EL 3.0

    - #### isLambdaArgument

          public boolean isLambdaArgument​(java.lang.String name)

      Determine if the specified name is recognised as the name of a lambda argument.
      Parameters:
        `name` - The name of the lambda argument
      Returns:
        `true` if the name is recognised as the name of a lambda argument, otherwise `false`
      Since:
        EL 3.0

    - #### getLambdaArgument

          public java.lang.Object getLambdaArgument​(java.lang.String name)

      Obtain the value of the lambda argument with the given name.
      Parameters:
        `name` - The name of the lambda argument
      Returns:
        The value of the specified argument
      Since:
        EL 3.0

    - #### enterLambdaScope

          public void enterLambdaScope​(java.util.Map<java.lang.String,​java.lang.Object> arguments)

      Called when starting to evaluate a lambda expression so that the arguments are available to the EL context during evaluation.
      Parameters:
        `arguments` - The arguments in scope for the current lambda expression.
      Since:
        EL 3.0

    - #### exitLambdaScope

          public void exitLambdaScope()

      Called after evaluating a lambda expression to signal that the arguments are no longer required.
      Since:
        EL 3.0

    - #### convertToType

          public java.lang.Object convertToType​(java.lang.Object obj,
                                                java.lang.Class<?> type)

      Coerce the supplied object to the requested type.
      Parameters:
        `obj` - The object to be coerced
        `type` - The type to which the object should be coerced
      Returns:
        An instance of the requested type.
      Throws:
        `ELException` - If the conversion fails
      Since:
        EL 3.0