Interface IEvaluationContext

  • All Known Implementing Classes:
    EvaluationContext

    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 Detail

      • 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 Detail

      • 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

        IEvaluationContext 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