## Package org.springframework.expression.spel.ast

Class Summary
Assign: Represents assignment.
AstUtils: Utilities methods for use in the Ast classes.
BeanReference: Represents a bean reference to a type, for example "@foo" or "@'foo.bar'"
BooleanLiteral: Represents the literal values TRUE and FALSE.
CompoundExpression: Represents a DOT separated expression sequence, such as 'property1.property2.methodOne()'
ConstructorReference: Represents the invocation of a constructor.
Elvis: Represents the elvis operator ?:.
FormatHelper: Utility methods (formatters, etc) used during parsing and evaluation.
FunctionReference: A function reference is of the form "#someFunction(a,b,c)".
Identifier
Indexer: An Indexer can index into some proceeding structure to access a particular piece of it.
InlineList: Represent a list in an expression, e.g.
IntLiteral: Expression language AST node that represents an integer literal.
Literal: Common superclass for nodes representing literals (boolean, string, number, etc).
LongLiteral: Expression language AST node that represents a long integer literal.
MethodReference
NullLiteral
OpAnd: Represents the boolean AND operation.
OpDivide: Implements division operator.
OpEQ: Implements equality operator.
Operator: Common supertype for operators that operate on either one or two operands.
OperatorBetween: Represents the between operator.
OperatorInstanceof: The operator 'instanceof' checks if an object is of the class specified in the right hand operand, in the same way that `instanceof` does in Java.
OperatorMatches: Implements the matches operator.
OperatorNot: Represents a NOT operation.
OperatorPower: The power operator.
OpGE: Implements greater-than-or-equal operator.
OpGT: Implements greater-than operator.
OpLE: Implements the less-than-or-equal operator.
OpLT: Implements the less-than operator.
OpMinus: The minus operator supports: subtraction of doubles (floats are represented as doubles) subtraction of longs subtraction of integers subtraction of an int from a string of one character (effectively decreasing that character), so 'd'-3='a' It can be used as a unary operator for numbers (double/long/int).
OpModulus: Implements the modulus operator.
OpMultiply: Implements the multiply operator.
OpNE: Implements the not-equal operator.
OpOr: Represents the boolean OR operation.
OpPlus: The plus operator will: add doubles (floats are represented as doubles) add longs add integers concatenate strings It can be used as a unary operator for numbers (double/long/int).
Projection: Represents projection, where a given operation is performed on all elements in some input sequence, returning a new sequence of the same size.
PropertyOrFieldReference: Represents a simple property or field reference.
QualifiedIdentifier: Represents a dot separated sequence of strings that indicate a package qualified type reference.
RealLiteral
Selection: Represents selection over a map or collection.
SpelNodeImpl: The common supertype of all AST nodes in a parsed Spring Expression Language format expression.
StringLiteral
Ternary: Represents a ternary expression, for example: "someCheck()?true:false".
TypeReference: Represents a reference to a type, for example "T(String)" or "T(com.somewhere.Foo)"
VariableReference: Represents a variable reference, eg.

Enum Summary
TypeCode: Captures primitive types and their corresponding class objects, plus one special entry that represents all reference (non-primitive) types.