Class Literal
- java.lang.Object
- org.springframework.expression.spel.ast.SpelNodeImpl
- org.springframework.expression.spel.ast.Literal
- Direct Known Subclasses:
BooleanLiteral
,FloatLiteral
,IntLiteral
,LongLiteral
,NullLiteral
,RealLiteral
,StringLiteral
public abstract class Literal extends SpelNodeImpl
Common superclass for nodes representing literals (boolean, string, number, etc).- Author:
- Andy Clement, Juergen Hoeller
Field Summary
Fields inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
children, exitTypeDescriptor, pos
Fields inherited from interface org.springframework.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V1_9
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static Literal
getIntLiteral(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.abstract TypedValue
getLiteralValue()
static Literal
getLongLiteral(String numberToken, int pos, int radix)
String
getOriginalValue()
static Literal
getRealLiteral(String numberToken, int pos, boolean isFloat)
TypedValue
getValueInternal(ExpressionState state)
String
toString()
String
toStringAST()
Methods inherited from class org.springframework.expression.spel.ast.SpelNodeImpl
generateCode, generateCodeForArgument, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, getValueRef, isCompilable, isWritable, nextChildIs, setValue
Method Detail
getOriginalValue
public final String getOriginalValue()
getValueInternal
public final TypedValue getValueInternal(ExpressionState state) throws SpelEvaluationException
- Specified by:
getValueInternal
in classSpelNodeImpl
- Throws:
SpelEvaluationException
toStringAST
public String toStringAST()
- Returns:
- the string form of this AST node
getLiteralValue
public abstract TypedValue getLiteralValue()
getIntLiteral
public static Literal getIntLiteral(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(String numberToken, int pos, int radix)
getRealLiteral
public static Literal getRealLiteral(String numberToken, int pos, boolean isFloat)