|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.drools.factmodel.DefaultBeanClassBuilder
public class DefaultBeanClassBuilder
A builder to dynamically build simple Javabean(TM) classes
Field Summary | |
---|---|
protected boolean |
debug
|
Fields inherited from interface org.mvel2.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 | |
---|---|
DefaultBeanClassBuilder()
|
|
DefaultBeanClassBuilder(boolean debug)
|
Method Summary | |
---|---|
byte[] |
buildClass(ClassDefinition classDef)
Dynamically builds, defines and loads a class based on the given class definition |
protected void |
buildClassAnnotations(ClassDefinition classDef,
org.mvel2.asm.ClassVisitor cw)
|
protected void |
buildClassHeader(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef)
Defines the class header for the given class definition |
protected void |
buildConstructors(org.mvel2.asm.ClassWriter cw,
ClassDefinition classDef)
|
protected void |
buildConstructorWithFields(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef,
Collection<FieldDefinition> fieldDefs)
Creates a constructor that takes and assigns values to all fields in the order they are declared. |
protected void |
buildDefaultConstructor(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef)
Creates a default constructor for the class |
protected void |
buildDynamicPropertyMap(org.mvel2.asm.ClassWriter cw,
ClassDefinition def)
A traitable class is a special class with support for dynamic properties and types. |
protected void |
buildEqualityMethods(org.mvel2.asm.ClassWriter cw,
ClassDefinition classDef)
|
protected void |
buildEquals(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef)
|
protected void |
buildField(org.mvel2.asm.ClassVisitor cw,
FieldDefinition fieldDef)
Creates the field defined by the given FieldDefinition |
protected void |
buildFieldAnnotations(FieldDefinition fieldDef,
org.mvel2.asm.FieldVisitor fv)
|
protected void |
buildFields(org.mvel2.asm.ClassWriter cw,
ClassDefinition classDef)
|
protected void |
buildGetMethod(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef,
FieldDefinition fieldDef)
Creates the get method for the given field definition |
protected void |
buildGettersAndSetters(org.mvel2.asm.ClassWriter cw,
ClassDefinition classDef)
|
protected void |
buildHashCode(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef)
|
protected void |
buildSetMethod(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef,
FieldDefinition fieldDef)
Creates the set method for the given field definition |
protected void |
buildToString(org.mvel2.asm.ClassVisitor cw,
ClassDefinition classDef)
|
protected void |
buildTraitMap(org.mvel2.asm.ClassWriter cw,
ClassDefinition classDef)
A traitable class is a special class with support for dynamic properties and types. |
protected boolean |
defaultConstructorStart(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef)
|
protected void |
fieldConstructorStart(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef,
Collection<FieldDefinition> fieldDefs)
|
protected boolean |
initFieldWithDefaultValue(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef,
FieldDefinition field)
|
protected void |
initializeDynamicTypeStructures(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef)
Initializes the trait map and dynamic property map to empty values |
protected void |
visitFieldOrGetter(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef,
FieldDefinition field)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected boolean debug
Constructor Detail |
---|
public DefaultBeanClassBuilder()
public DefaultBeanClassBuilder(boolean debug)
Method Detail |
---|
public byte[] buildClass(ClassDefinition classDef) throws IOException, IntrospectionException, SecurityException, IllegalArgumentException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchFieldException
buildClass
in interface ClassBuilder
classDef
- the class definition object structure
IOException
IntrospectionException
InvocationTargetException
IllegalAccessException
NoSuchMethodException
ClassNotFoundException
IllegalArgumentException
SecurityException
NoSuchFieldException
InstantiationException
protected void buildGettersAndSetters(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
protected void buildEqualityMethods(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
protected void buildFields(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
protected void buildConstructors(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
protected void buildTraitMap(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
cw
- classDef
- protected void buildDynamicPropertyMap(org.mvel2.asm.ClassWriter cw, ClassDefinition def)
cw
- def
- protected void buildClassHeader(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
cw
- classDef
- protected void buildField(org.mvel2.asm.ClassVisitor cw, FieldDefinition fieldDef)
cw
- fieldDef
- protected void buildDefaultConstructor(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
cw
- protected boolean defaultConstructorStart(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef)
protected boolean initFieldWithDefaultValue(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef, FieldDefinition field)
protected void initializeDynamicTypeStructures(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef)
mv
- classDef
- protected void buildConstructorWithFields(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef, Collection<FieldDefinition> fieldDefs)
cw
- classDef
- protected void fieldConstructorStart(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef, Collection<FieldDefinition> fieldDefs)
protected void buildSetMethod(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef, FieldDefinition fieldDef)
cw
- classDef
- fieldDef
- protected void buildGetMethod(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef, FieldDefinition fieldDef)
cw
- classDef
- fieldDef
- protected void buildEquals(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
protected void buildHashCode(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
protected void buildToString(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
protected void buildClassAnnotations(ClassDefinition classDef, org.mvel2.asm.ClassVisitor cw)
protected void buildFieldAnnotations(FieldDefinition fieldDef, org.mvel2.asm.FieldVisitor fv)
protected void visitFieldOrGetter(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef, FieldDefinition field)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |