# Package org.springframework.expression.spel.ast

- Interface Summary
  Interface | Description
  --- | ---
  ValueRef | Represents a reference to a value.

- Class Summary
  Class | Description
  --- | ---
  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 ?:.
  FloatLiteral | Expression language AST node that represents a float literal.
  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 | Expression language AST node that represents a method reference.
  NullLiteral | Expression language AST node that represents null.
  OpAnd | Represents the boolean AND operation.
  OpDec | Decrement operator.
  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.
  OpInc | Increment operator.
  OpLE | Implements the less-than-or-equal operator.
  OpLT | Implements the less-than operator.
  OpMinus | The minus operator supports: subtraction of `BigDecimal` 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 (`BigDecimal`/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 `BigDecimal` add doubles (floats are represented as doubles) add longs add integers concatenate strings It can be used as a unary operator for numbers (`BigDecimal`/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 | Expression language AST node that represents a real literal.
  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 | Expression language AST node that represents a string literal.
  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)"
  ValueRef.NullValueRef | A ValueRef for the null value.
  ValueRef.TypedValueHolderValueRef | A ValueRef holder for a single value, which cannot be set.
  VariableReference | Represents a variable reference, eg.

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