org.objectweb.dream.control.lifecycle
Class LifeCycleInterceptorGenerator

java.lang.Object
  extended by org.objectweb.fractal.julia.asm.AbstractCodeGenerator
      extended by org.objectweb.fractal.julia.asm.SimpleCodeGenerator
          extended by org.objectweb.dream.control.lifecycle.LifeCycleInterceptorGenerator
All Implemented Interfaces:
org.objectweb.asm.Opcodes, CodeGenerator, Initializable

public class LifeCycleInterceptorGenerator
extends SimpleCodeGenerator

Interceptor generator for lifecycle interceptor. Use SimpleCodeGeneratorpre and post method are implemented by lifecycle-controller. Pre and post method have the following signature :int addCurrentThread(String s) and void removeCurrentThread(String s, int i).


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, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, 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, 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, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, 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, V1_1, V1_2, V1_3, V1_4, V1_5
 
Fields inherited from interface org.objectweb.fractal.julia.asm.CodeGenerator
IN, IN_OUT, OUT
 
Constructor Summary
LifeCycleInterceptorGenerator()
           
 
Method Summary
protected  Class getContextType()
           
protected  String getControllerInterfaceName()
           
protected  int getInterceptionType(Method m)
           
protected  String getMethodName(Method m)
           
protected  String getPostMethodName()
           
protected  String getPreMethodName()
           
 
Methods inherited from class org.objectweb.fractal.julia.asm.SimpleCodeGenerator
generateCloneCode, generateInitCode, generateInterceptionCodeBlock, getInterceptionCodeFormals, init, initialize, needsInterfaceName, needsTargetObject
 
Methods inherited from class org.objectweb.fractal.julia.asm.AbstractCodeGenerator
close, generateInterceptionCode, getImplementedInterfaces, intercept
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LifeCycleInterceptorGenerator

public LifeCycleInterceptorGenerator()
Method Detail

getControllerInterfaceName

protected String getControllerInterfaceName()
Specified by:
getControllerInterfaceName in class SimpleCodeGenerator
See Also:
SimpleCodeGenerator.getControllerInterfaceName()

getPreMethodName

protected String getPreMethodName()
Specified by:
getPreMethodName in class SimpleCodeGenerator
See Also:
SimpleCodeGenerator.getPreMethodName()

getPostMethodName

protected String getPostMethodName()
Specified by:
getPostMethodName in class SimpleCodeGenerator
See Also:
SimpleCodeGenerator.getPostMethodName()

getContextType

protected Class getContextType()
Specified by:
getContextType in class SimpleCodeGenerator
See Also:
SimpleCodeGenerator.getContextType()

getMethodName

protected String getMethodName(Method m)
Specified by:
getMethodName in class SimpleCodeGenerator
See Also:
SimpleCodeGenerator.getMethodName(Method)

getInterceptionType

protected int getInterceptionType(Method m)
Overrides:
getInterceptionType in class AbstractCodeGenerator
See Also:
AbstractCodeGenerator.getInterceptionType(Method)


Copyright © 2003, 2005 - INRIA Rhone-Alpes - All Rights Reserved.