Interface IEvaluationContext

All Known Implementing Classes:
EvaluationContext, ExpressionContext

public interface IEvaluationContext
An evaluation context is used to manage a set of objects needed during XML expression evaluation. A context has a parent context, can manage a set of named variables and has a default variable. The default variable is used during XML expression evaluation if no explicit variable is referenced.

This interface is not intended to be implemented by clients. Clients are allowed to instantiate EvaluationContext.

Since:
3.0
Restriction:
This interface is not intended to be implemented by clients.
Restriction:
This interface is not intended to be extended by clients.
  • Field Details

    • UNDEFINED_VARIABLE

      static final Object UNDEFINED_VARIABLE
      Represents the value used by variables that exist but are not defined in a evaluation context. When tested by the 'with' expression, false will be returned.
      Since:
      3.4
  • Method Details

    • getParent

      IEvaluationContext getParent()
      Returns the parent context or null if this is the root of the evaluation context hierarchy.
      Returns:
      the parent evaluation context or null
    • getRoot

      Returns the root evaluation context.
      Returns:
      the root evaluation context
    • setAllowPluginActivation

      void setAllowPluginActivation(boolean value)
      Specifies whether this evaluation context allows activation of plug-ins for testers used in the expression tree. To actual trigger the plug-in loading this flag has to be set to true and the actual test expression must have the attribute forcePluginActivation set to true as well.
      Parameters:
      value - whether this evaluation context allows plug-in activation
      Since:
      3.2
    • getAllowPluginActivation

      boolean getAllowPluginActivation()
      Returns whether this evaluation context supports plug-in activation. If not set via setAllowPluginActivation(boolean) the parent value is returned. If no parent is set false is returned.
      Returns:
      whether plug-in activation is supported or not
      Since:
      3.2
    • getDefaultVariable

      Object getDefaultVariable()
      Returns the default variable.
      Returns:
      the default variable or null if no default variable is managed.
    • addVariable

      void addVariable(String name, Object value)
      Adds a new named variable to this context. If a variable with the name already exists the new one overrides the existing one.
      Parameters:
      name - the variable's name
      value - the variable's value
    • removeVariable

      Object removeVariable(String name)
      Removes the variable managed under the given name from this evaluation context.
      Parameters:
      name - the variable's name
      Returns:
      the currently stored value or null if the variable doesn't exist
    • getVariable

      Object getVariable(String name)
      Returns the variable managed under the given name.
      Parameters:
      name - the variable's name
      Returns:
      the variable's value or null if the content doesn't manage a variable with the given name
    • resolveVariable

      Object resolveVariable(String name, Object[] args) throws CoreException
      Resolves a variable for the given name and arguments. This method can be used to dynamically resolve variable such as plug-in descriptors, resources, etc. The method is used by the resolve expression.
      Parameters:
      name - the variable to resolve
      args - an object array of arguments used to resolve the variable
      Returns:
      the variable's value or null if no variable can be resolved for the given name and arguments
      Throws:
      CoreException - if an errors occurs while resolving the variable