net.sf.jexpel.internal.expr
Class ConstantExpression

java.lang.Object
  extended by net.sf.jexpel.internal.expr.ConstantExpression
All Implemented Interfaces:
Expression, Compilable, MessageCodes, org.objectweb.asm.Opcodes

public class ConstantExpression
extends java.lang.Object
implements Expression, Compilable, MessageCodes


Field Summary
 
Fields inherited from interface org.objectweb.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, 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, 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, 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
 
Fields inherited from interface net.sf.jexpel.messages.MessageCodes
ARRAY_ACCESS, C_NOT_FOUND, COND_TYPES, CONDITIONAL, CONSTANT, EXPECTED, INVALID, INVALID_ARG, LBRA_WO_RBRA, LPAR_WO_RPAR, M_NOT_FOUND, NEAR_TOKEN, NO_ARRAY, PROP_RO, PROP_WO, READ_ONLY
 
Constructor Summary
ConstantExpression(java.lang.Object value)
           
 
Method Summary
 void calculeGet(java.util.List<java.lang.String> objects)
           
 void calculeSet(java.util.List<java.lang.String> objects)
           
 void compileGet(org.objectweb.asm.MethodVisitor mv)
           
 void compileSet(org.objectweb.asm.MethodVisitor mv)
           
 java.lang.Object get(java.lang.Object scope)
          Executes the expression and returns its value
 java.lang.Class<?> getType()
          Gets the result type of the Expression
 boolean isConstant()
           
 void set(java.lang.Object scope, java.lang.Object value)
          Executes the expression on set mode.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConstantExpression

public ConstantExpression(java.lang.Object value)
Method Detail

get

public java.lang.Object get(java.lang.Object scope)
                     throws java.lang.Exception
Description copied from interface: Expression
Executes the expression and returns its value

Specified by:
get in interface Expression
Parameters:
scope - the object where the expression will be executed
Returns:
the result
Throws:
java.lang.Exception - all exceptions. No exceptions are treated for better performance.

getType

public java.lang.Class<?> getType()
Description copied from interface: Expression
Gets the result type of the Expression

Specified by:
getType in interface Expression
Returns:
the type

set

public void set(java.lang.Object scope,
                java.lang.Object value)
         throws java.lang.Exception
Description copied from interface: Expression
Executes the expression on set mode. On set mode it won't return value. Not all expressions can be executed on the set mode, the most of them are read only. For eg.

Specified by:
set in interface Expression
Parameters:
scope - the object where the expression will be executed
value - the new value to set
Throws:
java.lang.Exception - all exceptions. No exceptions are treated for better performance.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

compileGet

public void compileGet(org.objectweb.asm.MethodVisitor mv)
Specified by:
compileGet in interface Compilable

compileSet

public void compileSet(org.objectweb.asm.MethodVisitor mv)
Specified by:
compileSet in interface Compilable

calculeGet

public void calculeGet(java.util.List<java.lang.String> objects)
Specified by:
calculeGet in interface Compilable

calculeSet

public void calculeSet(java.util.List<java.lang.String> objects)
Specified by:
calculeSet in interface Compilable

isConstant

public boolean isConstant()
Specified by:
isConstant in interface Compilable