## Uses of Class
org.springframework.expression.spel.ExpressionState

- Packages that use ExpressionState
  Package | Description
  --- | ---
  org.springframework.expression.spel | SpEL's central implementation package.
  org.springframework.expression.spel.ast | SpEL's abstract syntax tree.

- - ### Uses of ExpressionState in org.springframework.expression.spel

    Methods in org.springframework.expression.spel with parameters of type ExpressionState
    Modifier and Type | Method and Description
    --- | ---
    `TypedValue` | SpelNode.`getTypedValue(ExpressionState expressionState)` Evaluate the expression node in the context of the supplied expression state and return the typed value.
    `Object` | SpelNode.`getValue(ExpressionState expressionState)` Evaluate the expression node in the context of the supplied expression state and return the value.
    `boolean` | SpelNode.`isWritable(ExpressionState expressionState)` Determine if this expression node will support a setValue() call.
    `void` | SpelNode.`setValue(ExpressionState expressionState, Object newValue)` Evaluate the expression to a node and then set the new value on that node.

  - ### Uses of ExpressionState in org.springframework.expression.spel.ast

    Methods in org.springframework.expression.spel.ast with parameters of type ExpressionState
    Modifier and Type | Method and Description
    --- | ---
    `TypedValue` | SpelNodeImpl.`getTypedValue(ExpressionState expressionState)`
    `Object` | SpelNodeImpl.`getValue(ExpressionState expressionState)`
    `protected <T> T` | SpelNodeImpl.`getValue(ExpressionState state, Class<T> desiredReturnType)`
    `TypedValue` | OpAnd.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OperatorMatches.`getValueInternal(ExpressionState state)` Check the first operand matches the regex specified as the second operand.
    `BooleanTypedValue` | OperatorNot.`getValueInternal(ExpressionState state)`
    `TypedValue` | OperatorPower.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OpLT.`getValueInternal(ExpressionState state)`
    `TypedValue` | OpMultiply.`getValueInternal(ExpressionState state)` Implements the `multiply` operator directly here for certain types of supported operands and otherwise delegates to any registered overloader for types not supported here.
    `TypedValue` | OpDec.`getValueInternal(ExpressionState state)`
    `TypedValue` | InlineList.`getValueInternal(ExpressionState expressionState)`
    `TypedValue` | OpMinus.`getValueInternal(ExpressionState state)`
    `TypedValue` | InlineMap.`getValueInternal(ExpressionState expressionState)`
    `BooleanTypedValue` | OpLE.`getValueInternal(ExpressionState state)`
    `TypedValue` | Ternary.`getValueInternal(ExpressionState state)` Evaluate the condition and if true evaluate the first alternative, otherwise evaluate the second alternative.
    `BooleanTypedValue` | OpEQ.`getValueInternal(ExpressionState state)`
    `TypedValue` | Assign.`getValueInternal(ExpressionState state)`
    `TypedValue` | OpInc.`getValueInternal(ExpressionState state)`
    `abstract TypedValue` | SpelNodeImpl.`getValueInternal(ExpressionState expressionState)`
    `BooleanTypedValue` | OpOr.`getValueInternal(ExpressionState state)`
    `TypedValue` | MethodReference.`getValueInternal(ExpressionState state)`
    `TypedValue` | Selection.`getValueInternal(ExpressionState state)`
    `TypedValue` | CompoundExpression.`getValueInternal(ExpressionState state)` Evaluates a compound expression.
    `TypedValue` | ConstructorReference.`getValueInternal(ExpressionState state)` Implements getValue() - delegating to the code for building an array or a simple type.
    `TypedValue` | QualifiedIdentifier.`getValueInternal(ExpressionState state)`
    `TypedValue` | OpModulus.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OperatorInstanceof.`getValueInternal(ExpressionState state)` Compare the left operand to see it is an instance of the type specified as the right operand.
    `TypedValue` | Indexer.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OpNE.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OpGE.`getValueInternal(ExpressionState state)`
    `TypedValue` | Elvis.`getValueInternal(ExpressionState state)` Evaluate the condition and if not null, return it.
    `TypedValue` | VariableReference.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OperatorBetween.`getValueInternal(ExpressionState state)` Returns a boolean based on whether a value is in the range expressed.
    `TypedValue` | Projection.`getValueInternal(ExpressionState state)`
    `TypedValue` | BeanReference.`getValueInternal(ExpressionState state)`
    `TypedValue` | OpPlus.`getValueInternal(ExpressionState state)`
    `TypedValue` | FunctionReference.`getValueInternal(ExpressionState state)`
    `TypedValue` | Identifier.`getValueInternal(ExpressionState state)`
    `TypedValue` | TypeReference.`getValueInternal(ExpressionState state)`
    `TypedValue` | OpDivide.`getValueInternal(ExpressionState state)`
    `BooleanTypedValue` | OpGT.`getValueInternal(ExpressionState state)`
    `TypedValue` | Literal.`getValueInternal(ExpressionState state)`
    `TypedValue` | PropertyOrFieldReference.`getValueInternal(ExpressionState state)`
    `protected ValueRef` | SpelNodeImpl.`getValueRef(ExpressionState state)`
    `protected ValueRef` | MethodReference.`getValueRef(ExpressionState state)`
    `protected ValueRef` | Selection.`getValueRef(ExpressionState state)`
    `protected ValueRef` | CompoundExpression.`getValueRef(ExpressionState state)`
    `protected ValueRef` | Indexer.`getValueRef(ExpressionState state)`
    `ValueRef` | VariableReference.`getValueRef(ExpressionState state)`
    `protected ValueRef` | Projection.`getValueRef(ExpressionState state)`
    `ValueRef` | PropertyOrFieldReference.`getValueRef(ExpressionState state)`
    `boolean` | SpelNodeImpl.`isWritable(ExpressionState expressionState)`
    `boolean` | CompoundExpression.`isWritable(ExpressionState state)`
    `boolean` | Indexer.`isWritable(ExpressionState expressionState)`
    `boolean` | VariableReference.`isWritable(ExpressionState expressionState)`
    `boolean` | PropertyOrFieldReference.`isWritable(ExpressionState state)`
    `void` | SpelNodeImpl.`setValue(ExpressionState expressionState, Object newValue)`
    `TypedValue` | SpelNodeImpl.`setValueInternal(ExpressionState expressionState, Supplier<TypedValue> valueSupplier)` Evaluate the expression to a node and then set the new value created by the specified `Supplier` on that node.
    `TypedValue` | CompoundExpression.`setValueInternal(ExpressionState state, Supplier<TypedValue> valueSupplier)`
    `TypedValue` | Indexer.`setValueInternal(ExpressionState state, Supplier<TypedValue> valueSupplier)`
    `TypedValue` | VariableReference.`setValueInternal(ExpressionState state, Supplier<TypedValue> valueSupplier)`
    `TypedValue` | PropertyOrFieldReference.`setValueInternal(ExpressionState state, Supplier<TypedValue> valueSupplier)`