Class EvaluationContext

  • All Implemented Interfaces:
    IEvaluationContext

    public class EvaluationContext
    extends Object
    implements IEvaluationContext
    A default implementation of an evaluation context.

    Clients may instantiate this default context. The class is not intended to be subclassed by clients.

    Since:
    3.0
    Restriction:
    This class is not intended to be subclassed by clients.
    • Constructor Detail

      • EvaluationContext

        public EvaluationContext​(IEvaluationContext parent,
                                 Object defaultVariable)
        Create a new evaluation context with the given parent and default variable.
        Parameters:
        parent - the parent context. Can be null.
        defaultVariable - the default variable
      • EvaluationContext

        public EvaluationContext​(IEvaluationContext parent,
                                 Object defaultVariable,
                                 IVariableResolver[] resolvers)
        Create a new evaluation context with the given parent and default variable.
        Parameters:
        parent - the parent context. Can be null.
        defaultVariable - the default variable
        resolvers - an array of IVariableResolvers to resolve additional variables.
        See Also:
        resolveVariable(String, Object[])
    • Method Detail

      • setAllowPluginActivation

        public void setAllowPluginActivation​(boolean value)
        Description copied from interface: IEvaluationContext
        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.
        Specified by:
        setAllowPluginActivation in interface IEvaluationContext
        Parameters:
        value - whether this evaluation context allows plug-in activation
      • addVariable

        public void addVariable​(String name,
                                Object value)
        Description copied from interface: IEvaluationContext
        Adds a new named variable to this context. If a variable with the name already exists the new one overrides the existing one.
        Specified by:
        addVariable in interface IEvaluationContext
        Parameters:
        name - the variable's name
        value - the variable's value
      • removeVariable

        public Object removeVariable​(String name)
        Description copied from interface: IEvaluationContext
        Removes the variable managed under the given name from this evaluation context.
        Specified by:
        removeVariable in interface IEvaluationContext
        Parameters:
        name - the variable's name
        Returns:
        the currently stored value or null if the variable doesn't exist
      • getVariable

        public Object getVariable​(String name)
        Description copied from interface: IEvaluationContext
        Returns the variable managed under the given name.
        Specified by:
        getVariable in interface IEvaluationContext
        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

        public Object resolveVariable​(String name,
                                      Object[] args)
                               throws CoreException
        Description copied from interface: IEvaluationContext
        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.
        Specified by:
        resolveVariable in interface IEvaluationContext
        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