public class DefaultBeanClassBuilder extends Object implements org.mvel2.asm.Opcodes, BeanClassBuilder, Serializable
Modifier and Type | Field and Description |
---|---|
protected boolean |
debug |
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 and Description |
---|
DefaultBeanClassBuilder() |
DefaultBeanClassBuilder(boolean debug) |
Modifier and Type | Method and Description |
---|---|
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 boolean |
buildFieldsToString(ClassDefinition classDef,
org.mvel2.asm.MethodVisitor mv,
boolean previous) |
protected void |
buildFieldTMS(org.mvel2.asm.ClassWriter cw,
ClassDefinition def)
A traitable class is a special class with support for dynamic properties and types.
|
protected void |
buildFieldToString(FieldDefinition field,
ClassDefinition classDef,
org.mvel2.asm.MethodVisitor mv,
boolean first) |
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 |
buildSystemHashCode(org.mvel2.asm.ClassWriter cw) |
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 |
updateTraitableField(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef,
FieldDefinition fieldDef) |
protected void |
visitFieldOrGetter(org.mvel2.asm.MethodVisitor mv,
ClassDefinition classDef,
FieldDefinition field) |
public DefaultBeanClassBuilder()
public DefaultBeanClassBuilder(boolean debug)
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 structureIOException
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 buildFieldTMS(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 buildSystemHashCode(org.mvel2.asm.ClassWriter cw)
protected void buildHashCode(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
protected void buildToString(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef)
protected boolean buildFieldsToString(ClassDefinition classDef, org.mvel2.asm.MethodVisitor mv, boolean previous)
protected void buildFieldToString(FieldDefinition field, ClassDefinition classDef, org.mvel2.asm.MethodVisitor mv, boolean first)
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)
protected void updateTraitableField(org.mvel2.asm.MethodVisitor mv, ClassDefinition classDef, FieldDefinition fieldDef)
Copyright © 2001-2014 JBoss by Red Hat. All Rights Reserved.