|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.objectweb.easybeans.enhancer.CommonClassGenerator
org.objectweb.easybeans.enhancer.interceptors.InterceptorManagerGenerator
public class InterceptorManagerGenerator
This generates a class that manage the interceptor of a given bean. It manages the lifecycle of the interceptors and allow to inject resources (dependency injection).
Field Summary | |
---|---|
private java.util.List<java.lang.String> |
allInterceptors
List of interceptors classes that are managed. |
private EjbJarAnnotationMetadata |
ejbJarAnnotationMetadata
Metadata to retrieve info on interceptors. |
private java.lang.String |
generatedClassName
Name of the class to generate. |
static java.lang.String[] |
INTERFACES
Interface of this invocation context. |
Fields inherited from class org.objectweb.easybeans.enhancer.CommonClassGenerator |
---|
ARRAY_OBJECTS, EASYBEANS_FACTORY, GENERATED_CLASS_VERSION, JAVA_LANG_EXCEPTION, JAVA_LANG_OBJECT, JAVA_LANG_REFLECT_METHOD, VOID_METHOD_JAVA_LANG_OBJECT |
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, V1_6 |
Constructor Summary | |
---|---|
InterceptorManagerGenerator(EjbJarAnnotationMetadata ejbJarAnnotationMetadata,
java.lang.String generatedClassName,
java.util.List<java.lang.String> allInterceptors)
Constructor. |
Method Summary | |
---|---|
private void |
addAttributes()
Add attributes of the class. |
private void |
addClassDeclaration()
Creates the declaration of the class with the given interfaces. |
private void |
addConstructor()
Creates the constructor which should look like. |
private void |
addDefaultMethods()
Generated methods allowing to set a context and a factory. |
private void |
addGetterMethods()
Generates a getter method for each interceptor. |
private void |
addInjectedMethod()
For each interceptor, call injectedByEasyBeans on it (only if these interceptors have been analyzed). |
private void |
addMethods()
Add methods of the class. |
private void |
endClass()
Called when the generated class is done. |
void |
generate()
Generates the class. |
byte[] |
getBytes()
|
private static java.lang.String |
getField(java.lang.String interceptorClass)
Gets the field name for a given interceptor. |
private static java.lang.String |
getMethod(java.lang.String interceptorClass)
Gets the getter method name for a given interceptor. |
Methods inherited from class org.objectweb.easybeans.enhancer.CommonClassGenerator |
---|
addAttribute, addAttribute, addFieldGettersSetters, addFieldGettersSetters, addNullGetter, addReturnType, encodeArrayClassDesc, encodeClassDesc, getCW, putFieldLoadOpCode, returnsObject, transformObjectIntoPrimitive, transformPrimitiveIntoObject, visitClassType |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private EjbJarAnnotationMetadata ejbJarAnnotationMetadata
private java.lang.String generatedClassName
private java.util.List<java.lang.String> allInterceptors
public static final java.lang.String[] INTERFACES
Constructor Detail |
---|
public InterceptorManagerGenerator(EjbJarAnnotationMetadata ejbJarAnnotationMetadata, java.lang.String generatedClassName, java.util.List<java.lang.String> allInterceptors)
ejbJarAnnotationMetadata
- the metadata to search interceptor class metadata.generatedClassName
- the name of the class to generate.allInterceptors
- interceptors that needs to be managed.Method Detail |
---|
public void generate()
private void addClassDeclaration()
private void addAttributes()
private static java.lang.String getField(java.lang.String interceptorClass)
interceptorClass
- the given interceptor.
private static java.lang.String getMethod(java.lang.String interceptorClass)
interceptorClass
- the given interceptor.
private void addConstructor()
public XXXInterceptorManager() { this.interceptor = new Interceptor(); this.interceptor2 = new Interceptor2(); }
private void addMethods()
private void addDefaultMethods()
private void addGetterMethods()
private void addInjectedMethod()
private void endClass()
public byte[] getBytes()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |