org.apache.openejb.core.cmp.cmp2
Class Cmp2Generator

java.lang.Object
  extended by org.apache.openejb.core.cmp.cmp2.Cmp2Generator
All Implemented Interfaces:
org.apache.xbean.asm.Opcodes

public class Cmp2Generator
extends java.lang.Object
implements org.apache.xbean.asm.Opcodes

Code generate for CMP level 2 beans. This will generate the concrete class used to instantiate the bean instance.


Field Summary
 
Fields inherited from interface org.apache.xbean.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, INVOKEDYNAMIC, INVOKEDYNAMIC_OWNER, 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
 
Constructor Summary
Cmp2Generator(java.lang.String cmpImplClass, java.lang.Class beanClass, java.lang.String pkField, java.lang.Class<?> primKeyClass, java.lang.String[] cmpFields)
          Constructor for a Cmp2Generator.
 
Method Summary
 void addCmrField(CmrField cmrField)
          Add a field to the list of fields defined as CMR fields.
 void addSelectMethod(java.lang.reflect.Method selectMethod)
          Add a method to the list of ejbSelect methods that need to be processed.
 void createEjbActivate()
           
 void createEjbLoad()
           
 void createEjbPassivate()
           
 void createEjbRemove()
           
 void createEjbStore()
           
 void createSetEntityContext()
           
 void createUnsetEntityContext()
           
 byte[] generate()
          Perform the generation step for a CMP Entity Bean.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Cmp2Generator

public Cmp2Generator(java.lang.String cmpImplClass,
                     java.lang.Class beanClass,
                     java.lang.String pkField,
                     java.lang.Class<?> primKeyClass,
                     java.lang.String[] cmpFields)
Constructor for a Cmp2Generator. This validates the initial EJB state information and prepares for the code generation process.

Parameters:
cmpImplClass - The name of the implementation class we're generating.
beanClass - The bean implementation class that is our starting point for code generation.
pkField - The name of the primary key field (optional if the primary key class is given).
primKeyClass - The optional primary key class for complex primary keys.
cmpFields - The list of fields that are managed using cmp.
Method Detail

addCmrField

public void addCmrField(CmrField cmrField)
Add a field to the list of fields defined as CMR fields. Note that if the field is also defined as a CMP field, it will be removed from the normal CMP list.

Parameters:
cmrField - The new CMR field definition pulled from the EJB metadata.

addSelectMethod

public void addSelectMethod(java.lang.reflect.Method selectMethod)
Add a method to the list of ejbSelect methods that need to be processed.

Parameters:
selectMethod - The method that needs to be processed.

generate

public byte[] generate()
Perform the generation step for a CMP Entity Bean. This uses the accumulated meta data and the base bean class to generate a subclass with the automatically generated bits of OpenEJB infrastructure hooks.

Returns:
The class file byte array to be used for defining this class.

createEjbActivate

public void createEjbActivate()

createEjbLoad

public void createEjbLoad()

createEjbPassivate

public void createEjbPassivate()

createEjbRemove

public void createEjbRemove()

createEjbStore

public void createEjbStore()

createSetEntityContext

public void createSetEntityContext()

createUnsetEntityContext

public void createUnsetEntityContext()


Copyright © 1999-2011 The Apache OpenEJB development community. All Rights Reserved.