SpEL's default implementations for various core abstractions.
MethodResolvervariant for data binding purposes, using reflection to access instance methods on a given target object.A
PropertyAccessorvariant for data binding purposes, using reflection to access properties for reading and possibly writing.Utility methods used by the reflection resolver code to discover the appropriate methods/constructors and fields that should be used in expressions.A simple ConstructorExecutor implementation that runs a constructor using reflective invocation.A constructor resolver that uses reflection to locate the constructor that should be invoked.
MethodExecutorthat works via reflection.A powerful
PropertyAccessorthat uses reflection to access properties for reading and possibly also for writing on a target instance.An optimized form of a PropertyAccessor that will use reflection but only knows how to access a particular property on a particular class.A basic implementation of
EvaluationContextthat focuses on a subset of essential SpEL features and customization options, targeting simple condition evaluation and in particular data binding scenarios.Builder for
SimpleEvaluationContext.A powerful and highly configurable
EvaluationContextimplementation.Standard implementation of
OperatorOverloader.A simple implementation of
TypeLocatorthat uses the context ClassLoader (or any ClassLoader set upon it).