Interface EvaluationContext
- All Known Implementing Classes:
- MethodBasedEvaluationContext,- SimpleEvaluationContext,- StandardEvaluationContext
There are two default implementations of this interface.
- SimpleEvaluationContext: a simpler builder-style- EvaluationContextvariant for data-binding purposes, which allows for opting into several SpEL features as needed.
- StandardEvaluationContext: a powerful and highly configurable- EvaluationContextimplementation, which can be extended, rather than having to implement everything manually.
- Since:
- 3.0
- Author:
- Andy Clement, Juergen Hoeller, Sam Brannen
- 
Method SummaryModifier and TypeMethodDescriptiondefault TypedValueassignVariable(String name, Supplier<TypedValue> valueSupplier) Assign the value created by the specifiedSupplierto a named variable within this evaluation context.Return a bean resolver that can look up beans by name.default List<ConstructorResolver>Return a list of resolvers that will be asked in turn to locate a constructor.default List<IndexAccessor>Return a list of index accessors that will be asked in turn to access or set an indexed value.default List<MethodResolver>Return a list of resolvers that will be asked in turn to locate a method.Return an operator overloader that may support mathematical operations between more than the standard set of types.default List<PropertyAccessor>Return a list of accessors that will be asked in turn to read/write a property.Return the default root context object against which unqualified properties, methods, etc.Return a type comparator for comparing pairs of objects for equality.Return a type converter that can convert (or coerce) a value from one type to another.Return a type locator that can be used to find types, either by short or fully qualified name.lookupVariable(String name) Look up a named variable within this evaluation context.voidsetVariable(String name, Object value) Set a named variable in this evaluation context to a specified value.
- 
Method Details- 
getRootObjectTypedValue getRootObject()Return the default root context object against which unqualified properties, methods, etc. should be resolved.This can be overridden when evaluating an expression. 
- 
getPropertyAccessorsReturn a list of accessors that will be asked in turn to read/write a property.The default implementation returns an empty list. 
- 
getIndexAccessorsReturn a list of index accessors that will be asked in turn to access or set an indexed value.The default implementation returns an empty list. - Since:
- 6.2
 
- 
getConstructorResolversReturn a list of resolvers that will be asked in turn to locate a constructor.The default implementation returns an empty list. 
- 
getMethodResolversReturn a list of resolvers that will be asked in turn to locate a method.The default implementation returns an empty list. 
- 
getBeanResolverReturn a bean resolver that can look up beans by name.
- 
getTypeLocatorTypeLocator getTypeLocator()Return a type locator that can be used to find types, either by short or fully qualified name.
- 
getTypeConverterTypeConverter getTypeConverter()Return a type converter that can convert (or coerce) a value from one type to another.
- 
getTypeComparatorTypeComparator getTypeComparator()Return a type comparator for comparing pairs of objects for equality.
- 
getOperatorOverloaderOperatorOverloader getOperatorOverloader()Return an operator overloader that may support mathematical operations between more than the standard set of types.
- 
assignVariableAssign the value created by the specifiedSupplierto a named variable within this evaluation context.In contrast to setVariable(String, Object), this method should only be invoked to support the assignment operator (=) within an expression.By default, this method delegates to setVariable(String, Object), providing the value created by thevalueSupplier. Concrete implementations may override this default method to provide different semantics.- Parameters:
- name- the name of the variable to assign
- valueSupplier- the supplier of the value to be assigned to the variable
- Returns:
- a TypedValuewrapping the assigned value
- Since:
- 5.2.24
 
- 
setVariableSet a named variable in this evaluation context to a specified value.In contrast to assignVariable(String, Supplier), this method should only be invoked programmatically when interacting directly with theEvaluationContext— for example, to provide initial configuration for the context.- Parameters:
- name- the name of the variable to set
- value- the value to be placed in the variable
- See Also:
 
- 
lookupVariableLook up a named variable within this evaluation context.- Parameters:
- name- the name of the variable to look up
- Returns:
- the value of the variable, or nullif not found
 
 
-