Package jakarta.el

# Class ELContext

java.lang.Object
jakarta.el.ELContext

Direct Known Subclasses:
  `StandardELContext`

public abstract class ELContext extends Object

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ELContext()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `addEvaluationListener(EvaluationListener listener)`
  Register an EvaluationListener with this ELContext.
  `<T> T`
  `convertToType(Object obj, Class<T> type)`
  Coerce the supplied object to the requested type.
  `void`
  `enterLambdaScope(Map<String,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.
  `Object`
  `getContext(Class<?> key)`
  Obtain the context object for the given key.
  `abstract ELResolver`
  `getELResolver()`
  `List<EvaluationListener>`
  `getEvaluationListeners()`
  Obtain the list of registered EvaluationListeners.
  `abstract FunctionMapper`
  `getFunctionMapper()`
  `ImportHandler`
  `getImportHandler()`
  Obtain the ImportHandler for this ELContext, creating one if necessary.
  `Object`
  `getLambdaArgument(String name)`
  Obtain the value of the lambda argument with the given name.
  `Locale`
  `getLocale()`
  `abstract VariableMapper`
  `getVariableMapper()`
  `boolean`
  `isLambdaArgument(String name)`
  Determine if the specified name is recognised as the name of a lambda argument.
  `boolean`
  `isPropertyResolved()`
  `void`
  `notifyAfterEvaluation(String expression)`
  Notify interested listeners that an expression has been evaluated.
  `void`
  `notifyBeforeEvaluation(String expression)`
  Notify interested listeners that an expression will be evaluated.
  `void`
  `notifyPropertyResolved(Object base, Object property)`
  Notify interested listeners that a property has been resolved.
  `void`
  `putContext(Class<?> key, Object contextObject)`
  Add an object to this EL context under the given key.
  `void`
  `setLocale(Locale locale)`
  `void`
  `setPropertyResolved(boolean resolved)`
  `void`
  `setPropertyResolved(Object base, Object property)`
  Mark the given property as resolved and notify any interested listeners.

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

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

- ## Constructor Details

  - ### ELContext

    public ELContext()

- ## Method Details

  - ### setPropertyResolved

    public void setPropertyResolved(boolean resolved)

  - ### setPropertyResolved

    public void setPropertyResolved(Object base, Object property)
    Mark the given property as resolved and notify 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(Class<?> key, 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:
      `NullPointerException` - If the supplied key or context is `null`

  - ### getContext

    public Object getContext(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:
      `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 Locale getLocale()

  - ### setLocale

    public void setLocale(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 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(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(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(Object base, 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(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 Object getLambdaArgument(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(Map<String,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 <T> T convertToType(Object obj, Class<T> type)
    Coerce the supplied object to the requested type.
    Type Parameters:
      `T` - The type to which the object should be coerced
    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