Package org.eclipse.core.expressions
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 Summary
Modifier and TypeFieldDescriptionstatic final Object
Represents the value used by variables that exist but are not defined in a evaluation context. -
Method Summary
Modifier and TypeMethodDescriptionvoid
addVariable
(String name, Object value) Adds a new named variable to this context.boolean
Returns whether this evaluation context supports plug-in activation.Returns the default variable.Returns the parent context ornull
if this is the root of the evaluation context hierarchy.getRoot()
Returns the root evaluation context.getVariable
(String name) Returns the variable managed under the given name.removeVariable
(String name) Removes the variable managed under the given name from this evaluation context.resolveVariable
(String name, Object[] args) Resolves a variable for the given name and arguments.void
setAllowPluginActivation
(boolean value) Specifies whether this evaluation context allows activation of plug-ins for testers used in the expression tree.
-
Field Details
-
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 ornull
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 totrue
and the actual test expression must have the attributeforcePluginActivation
set totrue
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 viasetAllowPluginActivation(boolean)
the parent value is returned. If no parent is setfalse
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
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 namevalue
- the variable's value
-
removeVariable
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
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
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 theresolve
expression.- Parameters:
name
- the variable to resolveargs
- 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
-