Top Description Interfaces Classes Enums
module spring.expression

Package org.springframework.expression.spel.ast

Annotations
@NonNullApi
@NonNullFields
Imports
org.springframework.lang.NonNullApi, .NonNullFields

SpEL's abstract syntax tree.

Interface Summary

Modifier and TypeInterface and Description
public interface
ValueRef

Represents a reference to a value.

Class Summary

Modifier and TypeClass and Description
public class
Assign

Represents assignment.

public abstract class
AstUtils

Utilities methods for use in the Ast classes.

public class
BeanReference

Represents a bean reference to a type, for example @foo or @'foo.bar'.

public class
BooleanLiteral

Represents the literal values TRUE and FALSE.

public class
CompoundExpression

Represents a DOT separated expression sequence, such as property1.property2.methodOne() or property1?.property2?.methodOne() when the null-safe navigation operator is used.

public class
ConstructorReference

Represents the invocation of a constructor.

public class
Elvis

Represents the Elvis operator ?:.

public class
FloatLiteral

Expression language AST node that represents a float literal.

pack-priv abstract class
FormatHelper

Utility methods (formatters, etc) used during parsing and evaluation.

public class
FunctionReference

A function reference is of the form "#someFunction(a,b,c)".

public class
Identifier

An 'identifier' SpelNode.

public class
Indexer

An Indexer can index into some proceeding structure to access a particular piece of it.

public class
InlineList

Represent a list in an expression, e.g. '{1,2,3}'

public class
InlineMap

Represent a map in an expression, e.g. '{name:'foo',age:12}'

public class
IntLiteral

Expression language AST node that represents an integer literal.

public abstract class
Literal

Common superclass for nodes representing literals (boolean, string, number, etc).

public class
LongLiteral

Expression language AST node that represents a long integer literal.

public class
MethodReference

Expression language AST node that represents a method reference.

public class
NullLiteral

Expression language AST node that represents null.

public class
OpAnd

Represents the boolean AND operation.

public class
OpDec

Decrement operator.

public class
OpDivide

Implements division operator.

public class
OpEQ

Implements the equality operator.

public abstract class
Operator

Common supertype for operators that operate on either one or two operands.

public class
OperatorBetween

Represents the between operator.

public class
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.

public class
OperatorMatches

Implements the matches operator.

public class
OperatorNot

Represents a NOT operation.

public class
OperatorPower

The power operator.

public class
OpGE

Implements greater-than-or-equal operator.

public class
OpGT

Implements the greater-than operator.

public class
OpInc

Increment operator.

public class
OpLE

Implements the less-than-or-equal operator.

public class
OpLT

Implements the less-than operator.

public class
OpMinus

The minus operator supports:

  • subtraction of numbers
  • subtraction of an int from a string of one character (effectively decreasing that character), so 'd' - 3 = 'a'
public class
OpModulus

Implements the modulus operator.

public class
OpMultiply

Implements the multiply operator.

public class
OpNE

Implements the not-equal operator.

public class
OpOr

Represents the boolean OR operation.

public class
OpPlus

The plus operator will:

  • add numbers
  • concatenate strings
public class
Projection

Represents projection, where a given operation is performed on all elements in some input sequence, returning a new sequence of the same size.

public class
PropertyOrFieldReference

Represents a simple property or field reference.

public class
QualifiedIdentifier

Represents a dot separated sequence of strings that indicate a package qualified type reference.

public class
RealLiteral

Expression language AST node that represents a real literal.

public class
Selection

Represents selection over a map or collection.

public abstract class
SpelNodeImpl

The common supertype of all AST nodes in a parsed Spring Expression Language format expression.

public class
StringLiteral

Expression language AST node that represents a string literal.

public class
Ternary

Represents a ternary expression, for example: "someCheck()?true:false".

public class
TypeReference

Represents a reference to a type, for example "T(String)" or "T(com.example.Foo)".

public class
VariableReference

Represents a variable reference — for example, #someVar.

Enum Summary

Modifier and TypeEnum and Description
public enum
TypeCode

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