org.springframework.expression.spel.ast
Class Literal
java.lang.Object
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Literal
- All Implemented Interfaces:
- SpelNode
- Direct Known Subclasses:
- BooleanLiteral, IntLiteral, LongLiteral, NullLiteral, RealLiteral, StringLiteral
public abstract class Literal
- extends SpelNodeImpl
Common superclass for nodes representing literals (boolean, string, number, etc).
- Author:
- Andy Clement
Constructor Summary |
Literal(java.lang.String payload,
int pos)
|
Methods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl |
getChild, getChildCount, getEndPosition, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, isWritable, nextChildIs, setValue |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
literalValue
protected java.lang.String literalValue
Literal
public Literal(java.lang.String payload,
int pos)
getLiteralValue
public abstract TypedValue getLiteralValue()
getValueInternal
public final TypedValue getValueInternal(ExpressionState state)
throws SpelEvaluationException
- Specified by:
getValueInternal
in class SpelNodeImpl
- Throws:
SpelEvaluationException
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object
toStringAST
public java.lang.String toStringAST()
- Specified by:
toStringAST
in interface SpelNode
- Specified by:
toStringAST
in class SpelNodeImpl
- Returns:
- the string form of this AST node
getIntLiteral
public static Literal getIntLiteral(java.lang.String numberToken,
int pos,
int radix)
- Process the string form of a number, using the specified base if supplied and return an appropriate literal to
hold it. Any suffix to indicate a long will be taken into account (either 'l' or 'L' is supported).
- Parameters:
numberToken
- the token holding the number as its payload (eg. 1234 or 0xCAFE)radix
- the base of number
- Returns:
- a subtype of Literal that can represent it
getLongLiteral
public static Literal getLongLiteral(java.lang.String numberToken,
int pos,
int radix)
getRealLiteral
public static Literal getRealLiteral(java.lang.String numberToken,
int pos,
boolean isFloat)