Class StandardEvaluationContext
java.lang.Object
org.springframework.expression.spel.support.StandardEvaluationContext
- All Implemented Interfaces:
 EvaluationContext
- Direct Known Subclasses:
 MethodBasedEvaluationContext
A powerful and highly configurable 
EvaluationContext implementation.
 This context uses standard implementations of all applicable strategies,
 based on reflection to resolve properties, methods and fields.
 For a simpler builder-style context variant for data-binding purposes,
 consider using SimpleEvaluationContext instead which allows for
 opting into several SpEL features as needed by specific evaluation cases.
- Since:
 - 3.0
 - Author:
 - Andy Clement, Juergen Hoeller, Sam Brannen
 - See Also:
 
- 
Constructor Summary
ConstructorsConstructorDescriptionCreate aStandardEvaluationContextwith a null root object.StandardEvaluationContext(Object rootObject) Create aStandardEvaluationContextwith the given root object. - 
Method Summary
Modifier and TypeMethodDescriptionvoidaddConstructorResolver(ConstructorResolver resolver) voidaddMethodResolver(MethodResolver resolver) voidaddPropertyAccessor(PropertyAccessor accessor) Return a bean resolver that can look up beans by name.Return a list of resolvers that will be asked in turn to locate a constructor.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.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 should be resolved.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.voidregisterFunction(String name, Method method) voidregisterMethodFilter(Class<?> type, MethodFilter filter) Register aMethodFilterwhich will be called during method resolution for the specified type.booleanremoveConstructorResolver(ConstructorResolver resolver) booleanremoveMethodResolver(MethodResolver methodResolver) booleanremovePropertyAccessor(PropertyAccessor accessor) voidsetBeanResolver(BeanResolver beanResolver) voidsetConstructorResolvers(List<ConstructorResolver> constructorResolvers) voidsetMethodResolvers(List<MethodResolver> methodResolvers) voidsetOperatorOverloader(OperatorOverloader operatorOverloader) voidsetPropertyAccessors(List<PropertyAccessor> propertyAccessors) voidsetRootObject(Object rootObject) voidsetRootObject(Object rootObject, TypeDescriptor typeDescriptor) voidsetTypeComparator(TypeComparator typeComparator) voidsetTypeConverter(TypeConverter typeConverter) voidsetTypeLocator(TypeLocator typeLocator) voidsetVariable(String name, Object value) Set a named variable within this evaluation context to a specified value.voidsetVariables(Map<String, Object> variables)  
- 
Constructor Details
- 
StandardEvaluationContext
public StandardEvaluationContext()Create aStandardEvaluationContextwith a null root object. - 
StandardEvaluationContext
Create aStandardEvaluationContextwith the given root object.- Parameters:
 rootObject- the root object to use- See Also:
 
 
 - 
 - 
Method Details
- 
setRootObject
 - 
setRootObject
 - 
getRootObject
Description copied from interface:EvaluationContextReturn the default root context object against which unqualified properties/methods/etc should be resolved. This can be overridden when evaluating an expression.- Specified by:
 getRootObjectin interfaceEvaluationContext
 - 
setPropertyAccessors
 - 
getPropertyAccessors
Description copied from interface:EvaluationContextReturn a list of accessors that will be asked in turn to read/write a property.- Specified by:
 getPropertyAccessorsin interfaceEvaluationContext
 - 
addPropertyAccessor
 - 
removePropertyAccessor
 - 
setConstructorResolvers
 - 
getConstructorResolvers
Description copied from interface:EvaluationContextReturn a list of resolvers that will be asked in turn to locate a constructor.- Specified by:
 getConstructorResolversin interfaceEvaluationContext
 - 
addConstructorResolver
 - 
removeConstructorResolver
 - 
setMethodResolvers
 - 
getMethodResolvers
Description copied from interface:EvaluationContextReturn a list of resolvers that will be asked in turn to locate a method.- Specified by:
 getMethodResolversin interfaceEvaluationContext
 - 
addMethodResolver
 - 
removeMethodResolver
 - 
setBeanResolver
 - 
getBeanResolver
Description copied from interface:EvaluationContextReturn a bean resolver that can look up beans by name.- Specified by:
 getBeanResolverin interfaceEvaluationContext
 - 
setTypeLocator
 - 
getTypeLocator
Description copied from interface:EvaluationContextReturn a type locator that can be used to find types, either by short or fully qualified name.- Specified by:
 getTypeLocatorin interfaceEvaluationContext
 - 
setTypeConverter
 - 
getTypeConverter
Description copied from interface:EvaluationContextReturn a type converter that can convert (or coerce) a value from one type to another.- Specified by:
 getTypeConverterin interfaceEvaluationContext
 - 
setTypeComparator
 - 
getTypeComparator
Description copied from interface:EvaluationContextReturn a type comparator for comparing pairs of objects for equality.- Specified by:
 getTypeComparatorin interfaceEvaluationContext
 - 
setOperatorOverloader
 - 
getOperatorOverloader
Description copied from interface:EvaluationContextReturn an operator overloader that may support mathematical operations between more than the standard set of types.- Specified by:
 getOperatorOverloaderin interfaceEvaluationContext
 - 
setVariable
Description copied from interface:EvaluationContextSet a named variable within this evaluation context to a specified value.- Specified by:
 setVariablein interfaceEvaluationContext- Parameters:
 name- the name of the variable to setvalue- the value to be placed in the variable
 - 
setVariables
 - 
registerFunction
 - 
lookupVariable
Description copied from interface:EvaluationContextLook up a named variable within this evaluation context.- Specified by:
 lookupVariablein interfaceEvaluationContext- Parameters:
 name- variable to lookup- Returns:
 - the value of the variable, or 
nullif not found 
 - 
registerMethodFilter
Register aMethodFilterwhich will be called during method resolution for the specified type.The
MethodFiltermay remove methods and/or sort the methods which will then be used by SpEL as the candidates to look through for a match.- Parameters:
 type- the type for which the filter should be calledfilter- aMethodFilter, ornullto unregister a filter for the type- Throws:
 IllegalStateException- if theReflectiveMethodResolveris not in use
 
 -