Class SpringELExpression

java.lang.Object
org.springframework.binding.expression.spel.SpringELExpression
All Implemented Interfaces:
Expression

public class SpringELExpression extends Object implements Expression
A wrapper for a Spring EL Expression allowing it to be used under the Spring Binding Expression abstraction.
Since:
2.1.0
Author:
Rossen Stoyanchev
  • Constructor Details

    • SpringELExpression

      public SpringELExpression(org.springframework.expression.Expression expression, Map<String,Expression> expressionVars, Class<?> expectedType, org.springframework.core.convert.ConversionService conversionService, List<org.springframework.expression.PropertyAccessor> propertyAccessors)
      Constructor for SpringELExpression.
      Parameters:
      expression - a parsed Spring EL expression instance. Must not be null.
      expressionVars - provides a mapping between variables names and parsed Spring EL expression instances. This parameter is optional (may be null).
      expectedType - the target type expected from the evaluation of the expression or null. This parameter is optional (may be null).
      conversionService - the Spring ConversionService instance to use for type conversion
      propertyAccessors - propertyAccessors for Spring EL to use when evaluating expressions
    • SpringELExpression

      public SpringELExpression(org.springframework.expression.Expression expression, Class<?> expectedType, EvaluationContextFactory contextFactory)
      Generalized constructor variant that accepts an EvaluationContextFactory.
      Since:
      2.4.8
  • Method Details

    • getExpressionString

      public String getExpressionString()
      Description copied from interface: Expression
      Returns the original string used to create this expression, unmodified.
      Specified by:
      getExpressionString in interface Expression
      Returns:
      the original expression string
    • getValue

      public Object getValue(Object rootObject) throws EvaluationException
      Description copied from interface: Expression
      Evaluate this expression in the provided context and return the result of evaluation.
      Specified by:
      getValue in interface Expression
      Parameters:
      rootObject - the context to evaluate this expression in
      Returns:
      the evaluation result
      Throws:
      EvaluationException - an exception occurred during expression evaluation
    • getValueType

      public Class<?> getValueType(Object rootObject) throws EvaluationException
      Description copied from interface: Expression
      Returns the most general type that can be passed to the Expression.setValue(Object, Object) method for the given context.
      Specified by:
      getValueType in interface Expression
      Parameters:
      rootObject - the context to evaluate
      Returns:
      the most general type of value that can be set on this context, or null if the type information cannot be determined
      Throws:
      EvaluationException - an exception occurred during expression evaluation
    • setValue

      public void setValue(Object rootObject, Object value) throws EvaluationException
      Description copied from interface: Expression
      Set this expression in the provided context to the value provided.
      Specified by:
      setValue in interface Expression
      Parameters:
      rootObject - the context on which the new value should be set
      value - the new value to set
      Throws:
      EvaluationException - an exception occurred during expression evaluation
    • extendEvaluationContext

      @Deprecated protected void extendEvaluationContext(org.springframework.expression.spel.support.StandardEvaluationContext context)
      Deprecated.
      as of 2.4.8, to customize the context, please use the constructor that accepts an EvaluationContextFactory.
      Invoked every time an evaluation context is created allowing further initialization from sub-classes.
    • toString

      public String toString()
      Overrides:
      toString in class Object