org.drools.factmodel
Class DefaultEnumClassBuilder

java.lang.Object
  extended by org.drools.factmodel.DefaultEnumClassBuilder
All Implemented Interfaces:
ClassBuilder, EnumClassBuilder, org.drools.Service, org.mvel2.asm.Opcodes

public class DefaultEnumClassBuilder
extends Object
implements org.mvel2.asm.Opcodes, EnumClassBuilder

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
DefaultEnumClassBuilder()
           
DefaultEnumClassBuilder(boolean debug)
           
 
Method Summary
 byte[] buildClass(ClassDefinition classDef)
          Dynamically builds, defines and loads a class based on the given class definition
protected  void buildClassHeader(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
protected  void buildConstructors(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
protected  void buildEqualityMethods(org.mvel2.asm.ClassWriter cw, ClassDefinition classDef)
           
protected  void buildFields(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
protected  void buildGettersAndSetters(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
protected  void buildLiterals(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
protected  void buildToString(org.mvel2.asm.ClassWriter cw, EnumClassDefinition classDef)
           
 org.mvel2.ParserConfiguration getConfig()
           
 void setConfig(org.mvel2.ParserConfiguration config)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debug

protected boolean debug
Constructor Detail

DefaultEnumClassBuilder

public DefaultEnumClassBuilder()

DefaultEnumClassBuilder

public DefaultEnumClassBuilder(boolean debug)
Method Detail

getConfig

public org.mvel2.ParserConfiguration getConfig()

setConfig

public void setConfig(org.mvel2.ParserConfiguration config)

buildClass

public byte[] buildClass(ClassDefinition classDef)
                  throws IOException,
                         IntrospectionException,
                         SecurityException,
                         IllegalArgumentException,
                         ClassNotFoundException,
                         NoSuchMethodException,
                         IllegalAccessException,
                         InvocationTargetException,
                         InstantiationException,
                         NoSuchFieldException
Dynamically builds, defines and loads a class based on the given class definition

Specified by:
buildClass in interface ClassBuilder
Parameters:
classDef - the class definition object structure
Returns:
the Class instance for the given class definition
Throws:
IOException
IntrospectionException
InvocationTargetException
IllegalAccessException
NoSuchMethodException
ClassNotFoundException
IllegalArgumentException
SecurityException
NoSuchFieldException
InstantiationException

buildClassHeader

protected void buildClassHeader(org.mvel2.asm.ClassWriter cw,
                                EnumClassDefinition classDef)

buildLiterals

protected void buildLiterals(org.mvel2.asm.ClassWriter cw,
                             EnumClassDefinition classDef)

buildFields

protected void buildFields(org.mvel2.asm.ClassWriter cw,
                           EnumClassDefinition classDef)

buildConstructors

protected void buildConstructors(org.mvel2.asm.ClassWriter cw,
                                 EnumClassDefinition classDef)
                          throws IOException,
                                 ClassNotFoundException
Throws:
IOException
ClassNotFoundException

buildGettersAndSetters

protected void buildGettersAndSetters(org.mvel2.asm.ClassWriter cw,
                                      EnumClassDefinition classDef)

buildToString

protected void buildToString(org.mvel2.asm.ClassWriter cw,
                             EnumClassDefinition classDef)

buildEqualityMethods

protected void buildEqualityMethods(org.mvel2.asm.ClassWriter cw,
                                    ClassDefinition classDef)


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.