Class EvaluationContext

java.lang.Object
jakarta.el.ELContext
com.sun.el.lang.EvaluationContext

public final class EvaluationContext extends ELContext
The context for Jakarta Expression expression evaluation. This wrapper ELContext captures the function mapper and the variable mapper at the point when the expression is parsed, and only for those functions and variable used in the expression.
  • Field Details

  • Constructor Details

  • Method Details

    • getELContext

      public ELContext getELContext()
    • getFunctionMapper

      public FunctionMapper getFunctionMapper()
      Description copied from class: ELContext
      Retrieves the FunctionMapper associated with this ELContext.
      Specified by:
      getFunctionMapper in class ELContext
      Returns:
      The function mapper to be consulted for the resolution of Jakarta Expression Language functions.
    • getVariableMapper

      public VariableMapper getVariableMapper()
      Description copied from class: ELContext
      Retrieves the VariableMapper associated with this ELContext.
      Specified by:
      getVariableMapper in class ELContext
      Returns:
      The variable mapper to be consulted for the resolution of Jakarta Expression Language variables.
    • getContext

      public Object getContext(Class key)
      Description copied from class: ELContext
      Returns the context object associated with the given key.

      The ELContext maintains a collection of context objects relevant to the evaluation of an expression. These context objects are used by ELResolvers. This method is used to retrieve the context with the given key from the collection.

      By convention, the object returned will be of the type specified by the key. However, this is not required and the key is used strictly as a unique identifier.

      Overrides:
      getContext in class ELContext
      Parameters:
      key - The unique identifier that was used to associate the context object with this ELContext.
      Returns:
      The context object associated with the given key, or null if no such context was found.
    • getELResolver

      public ELResolver getELResolver()
      Description copied from class: ELContext
      Retrieves the ELResolver associated with this context.

      The ELContext maintains a reference to the ELResolver that will be consulted to resolve variables and properties during an expression evaluation. This method retrieves the reference to the resolver.

      Once an ELContext is constructed, the reference to the ELResolver associated with the context cannot be changed.

      Specified by:
      getELResolver in class ELContext
      Returns:
      The resolver to be consulted for variable and property resolution during expression evaluation.
    • isPropertyResolved

      public boolean isPropertyResolved()
      Description copied from class: ELContext
      Returns whether an ELResolver has successfully resolved a given (base, property) pair.

      The CompositeELResolver checks this property to determine whether it should consider or skip other component resolvers.

      Overrides:
      isPropertyResolved in class ELContext
      Returns:
      true if the property has been resolved, or false if not.
      See Also:
    • putContext

      public void putContext(Class key, Object contextObject)
      Description copied from class: ELContext
      Associates a context object with this ELContext.

      The ELContext maintains a collection of context objects relevant to the evaluation of an expression. These context objects are used by ELResolvers. This method is used to add a context object to that collection.

      By convention, the contextObject will be of the type specified by the key. However, this is not required and the key is used strictly as a unique identifier.

      Overrides:
      putContext in class ELContext
      Parameters:
      key - The key used by an @{link ELResolver} to identify this context object.
      contextObject - The context object to add to the collection.
    • setPropertyResolved

      public void setPropertyResolved(boolean resolved)
      Description copied from class: ELContext
      Called to indicate that a ELResolver has successfully resolved a given (base, property) pair. Use ELContext.setPropertyResolved(Object, Object) if resolved is true and to notify EvaluationListeners.

      The CompositeELResolver checks this property to determine whether it should consider or skip other component resolvers.

      Overrides:
      setPropertyResolved in class ELContext
      Parameters:
      resolved - true if the property has been resolved, or false if not.
      See Also:
    • setPropertyResolved

      public void setPropertyResolved(Object base, Object property)
      Description copied from class: ELContext
      Called to indicate that a ELResolver has successfully resolved a given (base, property) pair and to notify the EvaluationListeners.

      The CompositeELResolver checks this property to determine whether it should consider or skip other component resolvers.

      Overrides:
      setPropertyResolved in class ELContext
      Parameters:
      base - The base object
      property - The property object
      See Also:
    • addEvaluationListener

      public void addEvaluationListener(EvaluationListener listener)
      Description copied from class: ELContext
      Registers an evaluation listener to the ELContext.
      Overrides:
      addEvaluationListener in class ELContext
      Parameters:
      listener - The listener to be added.
    • getEvaluationListeners

      public List<EvaluationListener> getEvaluationListeners()
      Description copied from class: ELContext
      Returns the list of registered evaluation listeners.
      Overrides:
      getEvaluationListeners in class ELContext
      Returns:
      The list of registered evaluation listeners.
    • notifyBeforeEvaluation

      public void notifyBeforeEvaluation(String expr)
      Description copied from class: ELContext
      Notifies the listeners before an Jakarta Expression Language expression is evaluated
      Overrides:
      notifyBeforeEvaluation in class ELContext
      Parameters:
      expr - The Jakarta Expression Language expression string to be evaluated
    • notifyAfterEvaluation

      public void notifyAfterEvaluation(String expr)
      Description copied from class: ELContext
      Notifies the listeners after an Jakarta Expression Language expression is evaluated
      Overrides:
      notifyAfterEvaluation in class ELContext
      Parameters:
      expr - The Jakarta Expression Language expression string that has been evaluated
    • notifyPropertyResolved

      public void notifyPropertyResolved(Object base, Object property)
      Description copied from class: ELContext
      Notifies the listeners when the (base, property) pair is resolved
      Overrides:
      notifyPropertyResolved in class ELContext
      Parameters:
      base - The base object
      property - The property Object
    • isLambdaArgument

      public boolean isLambdaArgument(String arg)
      Description copied from class: ELContext
      Inquires if the name is a LambdaArgument
      Overrides:
      isLambdaArgument in class ELContext
      Parameters:
      arg - A possible Lambda formal parameter name
      Returns:
      true if arg is a LambdaArgument, false otherwise.
    • getLambdaArgument

      public Object getLambdaArgument(String arg)
      Description copied from class: ELContext
      Retrieves the Lambda argument associated with a formal parameter. If the Lambda expression is nested within other Lambda expressions, the arguments for the current Lambda expression is first searched, and if not found, the arguments for the immediate nesting Lambda expression then searched, and so on.
      Overrides:
      getLambdaArgument in class ELContext
      Parameters:
      arg - The formal parameter for the Lambda argument
      Returns:
      The object associated with formal parameter. Null if no object has been associated with the parameter.
    • enterLambdaScope

      public void enterLambdaScope(Map<String,Object> args)
      Description copied from class: ELContext
      Installs a Lambda argument map, in preparation for the evaluation of a Lambda expression. The arguments in the map will be in scope during the evaluation of the Lambda expression.
      Overrides:
      enterLambdaScope in class ELContext
      Parameters:
      args - The Lambda arguments map
    • exitLambdaScope

      public void exitLambdaScope()
      Description copied from class: ELContext
      Exits the Lambda expression evaluation. The Lambda argument map that was previously installed is removed.
      Overrides:
      exitLambdaScope in class ELContext
    • convertToType

      public Object convertToType(Object obj, Class<?> targetType)
      Description copied from class: ELContext
      Converts an object to a specific type. If a custom converter in the ELResolver handles this conversion, it is used. Otherwise the standard coercions is applied.

      An ELException is thrown if an error occurs during the conversion.

      Overrides:
      convertToType in class ELContext
      Parameters:
      obj - The object to convert.
      targetType - The target type for the conversion.
      Returns:
      object converted to targetType
    • getImportHandler

      public ImportHandler getImportHandler()
      Description copied from class: ELContext
      Retrieves the ImportHandler associated with this ELContext.
      Overrides:
      getImportHandler in class ELContext
      Returns:
      The import handler to manage imports of classes and packages.