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()`
    `List<ConstructorResolver>` | `getConstructorResolvers()`
    `List<MethodResolver>` | `getMethodResolvers()`
    `OperatorOverloader` | `getOperatorOverloader()`
    `List<PropertyAccessor>` | `getPropertyAccessors()`
    `TypedValue` | `getRootObject()`
    `TypeComparator` | `getTypeComparator()`
    `TypeConverter` | `getTypeConverter()`
    `TypeLocator` | `getTypeLocator()`
    `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()

      Returns:
        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()

      Returns:
        a list of resolvers that will be asked in turn to locate a constructor

    - #### getMethodResolvers

          List<MethodResolver> getMethodResolvers()

      Returns:
        a list of resolvers that will be asked in turn to locate a method

    - #### getPropertyAccessors

          List<PropertyAccessor> getPropertyAccessors()

      Returns:
        a list of accessors that will be asked in turn to read/write a property

    - #### getTypeLocator

          TypeLocator getTypeLocator()

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

    - #### getTypeConverter

          TypeConverter getTypeConverter()

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

    - #### getTypeComparator

          TypeComparator getTypeComparator()

      Returns:
        a type comparator for comparing pairs of objects for equality.

    - #### getOperatorOverloader

          OperatorOverloader getOperatorOverloader()

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

    - #### getBeanResolver

          BeanResolver getBeanResolver()

      Returns:
        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