Package org.drools.mvel.asm
Class DefaultEnumClassBuilder
java.lang.Object
org.drools.mvel.asm.DefaultEnumClassBuilder
- All Implemented Interfaces:
Serializable,Comparable<KieService>,ClassBuilder,EnumClassBuilder,KieService,org.mvel2.asm.Opcodes
public class DefaultEnumClassBuilder
extends Object
implements org.mvel2.asm.Opcodes, EnumClassBuilder, Serializable
A builder to dynamically build simple Javabean(TM) classes
- See Also:
-
Field Summary
Fields inherited from interface org.kie.api.internal.utils.KieService
UNDEFINEDFields inherited from interface org.mvel2.asm.Opcodes
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_RECORD, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, 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, 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, SOURCE_DEPRECATED, SOURCE_MASK, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V13, V14, V15, V16, V17, V18, V19, V20, V21, V9 -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]buildClass(org.drools.base.factmodel.ClassDefinition classDef, ClassLoader classLoader) Dynamically builds, defines and loads a class based on the given class definitionprotected org.mvel2.asm.ClassWriterbuildClassHeader(ClassLoader classLoader, EnumClassDefinition classDef) protected voidbuildConstructors(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef) protected voidbuildEqualityMethods(org.mvel2.asm.ClassWriter cw, org.drools.base.factmodel.ClassDefinition classDef) protected voidbuildFields(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef) protected voidbuildGettersAndSetters(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef) protected voidbuildLiterals(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef) protected voidbuildToString(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.kie.api.internal.utils.KieService
compareTo, servicePriority, serviceTag
-
Constructor Details
-
DefaultEnumClassBuilder
public DefaultEnumClassBuilder()
-
-
Method Details
-
buildClass
public byte[] buildClass(org.drools.base.factmodel.ClassDefinition classDef, ClassLoader classLoader) throws IOException, SecurityException, IllegalArgumentException, ClassNotFoundException Dynamically builds, defines and loads a class based on the given class definition- Specified by:
buildClassin interfaceClassBuilder- Parameters:
classDef- the class definition object structure- Returns:
- the Class instance for the given class definition
- Throws:
IOExceptionClassNotFoundExceptionIllegalArgumentExceptionSecurityException
-
buildClassHeader
protected org.mvel2.asm.ClassWriter buildClassHeader(ClassLoader classLoader, EnumClassDefinition classDef) -
buildLiterals
-
buildFields
-
buildConstructors
-
buildGettersAndSetters
-
buildToString
-
buildEqualityMethods
protected void buildEqualityMethods(org.mvel2.asm.ClassWriter cw, org.drools.base.factmodel.ClassDefinition classDef)
-