org.apache.tapestry5.internal.plastic
Class SwitchBlockImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.plastic.Lockable
      extended by org.apache.tapestry5.internal.plastic.SwitchBlockImpl
All Implemented Interfaces:
org.apache.tapestry5.internal.plastic.asm.Opcodes, SwitchBlock

public class SwitchBlockImpl
extends Lockable
implements SwitchBlock, org.apache.tapestry5.internal.plastic.asm.Opcodes


Field Summary
 
Fields inherited from interface org.apache.tapestry5.internal.plastic.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, ASM4, 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
 
Method Summary
 void addCase(int caseValue, boolean jumpToEnd, InstructionBuilderCallback callback)
          Adds a handler for a particular case value.
 void addDefault(InstructionBuilderCallback callback)
          Adds the default handler.
 
Methods inherited from class org.apache.tapestry5.internal.plastic.Lockable
check, lock
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

addCase

public void addCase(int caseValue,
                    boolean jumpToEnd,
                    InstructionBuilderCallback callback)
Description copied from interface: SwitchBlock
Adds a handler for a particular case value. This method should only be invoked at most once for each case value.

Specified by:
addCase in interface SwitchBlock
Parameters:
caseValue - value to match
jumpToEnd - true if a jump to the end should be provided, or false if either the callback generated a return opcode, or it is desired to "drop down" into the next case handler. The last case handled drop down out of the SwitchBlock.
callback - provides the logic for the specified case

addDefault

public void addDefault(InstructionBuilderCallback callback)
Description copied from interface: SwitchBlock
Adds the default handler. This is optional, and is only allowed after all cases have been added. The default handler automatically throws an IllegalArgumentException.

Specified by:
addDefault in interface SwitchBlock
Parameters:
callback - provides the logic for the default handler case.


Copyright © 2003-2012 The Apache Software Foundation.