org.springframework.expression

## Interface EvaluationContext

- All Known Implementing Classes:
    StandardEvaluationContext

      public interface EvaluationContext

  Expressions are executed in an evaluation context. It is in this context that references are resolved when encountered during expression evaluation.

  There is a default implementation of the EvaluationContext, `StandardEvaluationContext` that can be extended, rather than having to implement everything.

  Since:
    3.0
  Author:
    Andy Clement, Juergen Hoeller

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `BeanResolver` | `getBeanResolver()` Return a bean resolver that can look up beans by name.
    `List<ConstructorResolver>` | `getConstructorResolvers()` Return a list of resolvers that will be asked in turn to locate a constructor.
    `List<MethodResolver>` | `getMethodResolvers()` Return a list of resolvers that will be asked in turn to locate a method.
    `OperatorOverloader` | `getOperatorOverloader()` Return an operator overloader that may support mathematical operations between more than the standard set of types.
    `List<PropertyAccessor>` | `getPropertyAccessors()` Return a list of accessors that will be asked in turn to read/write a property.
    `TypedValue` | `getRootObject()` Return the default root context object against which unqualified properties/methods/etc should be resolved.
    `TypeComparator` | `getTypeComparator()` Return a type comparator for comparing pairs of objects for equality.
    `TypeConverter` | `getTypeConverter()` Return a type converter that can convert (or coerce) a value from one type to another.
    `TypeLocator` | `getTypeLocator()` Return a type locator that can be used to find types, either by short or fully qualified name.
    `Object` | `lookupVariable(String name)` Look up a named variable within this evaluation context.
    `void` | `setVariable(String name, Object value)` Set a named variable within this evaluation context to a specified value.

- - ### Method Detail

    - #### getRootObject

          TypedValue getRootObject()

      Return the default root context object against which unqualified properties/methods/etc should be resolved. This can be overridden when evaluating an expression.

    - #### getConstructorResolvers

          List<ConstructorResolver> getConstructorResolvers()

      Return a list of resolvers that will be asked in turn to locate a constructor.

    - #### getMethodResolvers

          List<MethodResolver> getMethodResolvers()

      Return a list of resolvers that will be asked in turn to locate a method.

    - #### getPropertyAccessors

          List<PropertyAccessor> getPropertyAccessors()

      Return a list of accessors that will be asked in turn to read/write a property.

    - #### getTypeLocator

          TypeLocator getTypeLocator()

      Return a type locator that can be used to find types, either by short or fully qualified name.

    - #### getTypeConverter

          TypeConverter getTypeConverter()

      Return a type converter that can convert (or coerce) a value from one type to another.

    - #### getTypeComparator

          TypeComparator getTypeComparator()

      Return a type comparator for comparing pairs of objects for equality.

    - #### getOperatorOverloader

          OperatorOverloader getOperatorOverloader()

      Return an operator overloader that may support mathematical operations between more than the standard set of types.

    - #### getBeanResolver

          BeanResolver getBeanResolver()

      Return a bean resolver that can look up beans by name.

    - #### setVariable

          void setVariable(String name,
                         Object value)

      Set a named variable within this evaluation context to a specified value.
      Parameters:
        `name` - variable to set
        `value` - value to be placed in the variable

    - #### lookupVariable

          Object lookupVariable(String name)

      Look up a named variable within this evaluation context.
      Parameters:
        `name` - variable to lookup
      Returns:
        the value of the variable