org.drools.factmodel.traits
Class TraitTripleProxyClassBuilderImpl

java.lang.Object
  extended by org.drools.factmodel.traits.TraitTripleProxyClassBuilderImpl
All Implemented Interfaces:
Serializable, ClassBuilder, TraitProxyClassBuilder, org.drools.Service, org.mvel2.asm.Opcodes

public class TraitTripleProxyClassBuilderImpl
extends Object
implements TraitProxyClassBuilder, Serializable

See Also:
Serialized Form

Field Summary
 
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
TraitTripleProxyClassBuilderImpl()
           
 
Method Summary
 byte[] buildClass(ClassDefinition core)
           
protected  void buildCommonMethods(org.mvel2.asm.ClassWriter cw, String proxy)
           
protected  int buildConstructorCore(org.mvel2.asm.ClassWriter cw, org.mvel2.asm.MethodVisitor mv, String internalProxy, String internalWrapper, String internalCore, String descrCore, String mixin, Class mixinClass)
           
 void buildEqualityMethods(org.mvel2.asm.ClassVisitor cw, String proxy, String core)
           
protected  void buildExtendedMethods(org.mvel2.asm.ClassWriter cw, ClassDefinition trait, ClassDefinition core, BitSet mask)
           
protected  void buildHardGetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String masterName, ClassDefinition proxy, ClassDefinition core)
           
protected  void buildHardGetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String masterName, ClassDefinition proxy, ClassDefinition core, String getterName, boolean protect)
           
protected  void buildHardSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String masterName, ClassDefinition trait, ClassDefinition core)
           
protected  void buildHardSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String masterName, ClassDefinition trait, ClassDefinition core, String setterName, boolean protect)
           
 void buildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw, ClassDefinition trait, String proxy, String core)
           
protected  void buildKeyedEquals(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef, String proxyType)
           
protected  void buildKeyedHashCode(org.mvel2.asm.ClassVisitor cw, ClassDefinition classDef, String proxyType)
           
protected  void buildProxyAccessor(BitSet mask, org.mvel2.asm.ClassWriter cw, String masterName, ClassDefinition core, Map<String,Method> mixinGetSet, FieldDefinition field, boolean isSoftField)
           
protected  void buildProxyAccessors(BitSet mask, org.mvel2.asm.ClassWriter cw, String masterName, ClassDefinition core, Map<String,Method> mixinGetSet)
           
protected  void buildSoftGetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, ClassDefinition trait, ClassDefinition core)
           
protected  void buildSoftGetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, ClassDefinition trait, ClassDefinition core, String getterName, boolean protect)
           
protected  void buildSoftSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, ClassDefinition trait, ClassDefinition core)
           
protected  void buildSoftSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, ClassDefinition trait, ClassDefinition core, String setterName, boolean protect)
           
protected  void buildSynchFields(org.mvel2.asm.ClassWriter cw, String proxyName, ClassDefinition trait, ClassDefinition core, BitSet mask)
           
protected  ClassDefinition getTrait()
           
 void init(ClassDefinition trait, Class<?> baseClass, TraitRegistry traitRegistry)
           
protected  void initFields(org.mvel2.asm.MethodVisitor mv, String internalProxy)
           
protected  void shedField(org.mvel2.asm.MethodVisitor mv, FieldDefinition fld, String proxyName, ClassDefinition trait, ClassDefinition core, boolean hardField, int j)
           
protected  void synchField(org.mvel2.asm.MethodVisitor mv, FieldDefinition fld, String proxyName)
           
protected  void synchFieldLogical(org.mvel2.asm.MethodVisitor mv, FieldDefinition fld, String proxyName, ClassDefinition trait, ClassDefinition core, boolean hardField, int j)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TraitTripleProxyClassBuilderImpl

public TraitTripleProxyClassBuilderImpl()
Method Detail

getTrait

protected ClassDefinition getTrait()

init

public void init(ClassDefinition trait,
                 Class<?> baseClass,
                 TraitRegistry traitRegistry)
Specified by:
init in interface TraitProxyClassBuilder

buildClass

public byte[] buildClass(ClassDefinition core)
                  throws IOException,
                         IntrospectionException,
                         SecurityException,
                         IllegalArgumentException,
                         ClassNotFoundException,
                         NoSuchMethodException,
                         IllegalAccessException,
                         InvocationTargetException,
                         InstantiationException,
                         NoSuchFieldException
Specified by:
buildClass in interface ClassBuilder
Throws:
IOException
IntrospectionException
SecurityException
IllegalArgumentException
ClassNotFoundException
NoSuchMethodException
IllegalAccessException
InvocationTargetException
InstantiationException
NoSuchFieldException

buildConstructorCore

protected int buildConstructorCore(org.mvel2.asm.ClassWriter cw,
                                   org.mvel2.asm.MethodVisitor mv,
                                   String internalProxy,
                                   String internalWrapper,
                                   String internalCore,
                                   String descrCore,
                                   String mixin,
                                   Class mixinClass)

initFields

protected void initFields(org.mvel2.asm.MethodVisitor mv,
                          String internalProxy)

buildProxyAccessors

protected void buildProxyAccessors(BitSet mask,
                                   org.mvel2.asm.ClassWriter cw,
                                   String masterName,
                                   ClassDefinition core,
                                   Map<String,Method> mixinGetSet)

buildProxyAccessor

protected void buildProxyAccessor(BitSet mask,
                                  org.mvel2.asm.ClassWriter cw,
                                  String masterName,
                                  ClassDefinition core,
                                  Map<String,Method> mixinGetSet,
                                  FieldDefinition field,
                                  boolean isSoftField)

buildHardGetter

protected void buildHardGetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String masterName,
                               ClassDefinition proxy,
                               ClassDefinition core)

buildHardGetter

protected void buildHardGetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String masterName,
                               ClassDefinition proxy,
                               ClassDefinition core,
                               String getterName,
                               boolean protect)

buildHardSetter

protected void buildHardSetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String masterName,
                               ClassDefinition trait,
                               ClassDefinition core)

buildHardSetter

protected void buildHardSetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String masterName,
                               ClassDefinition trait,
                               ClassDefinition core,
                               String setterName,
                               boolean protect)

buildSoftSetter

protected void buildSoftSetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String proxy,
                               ClassDefinition trait,
                               ClassDefinition core)

buildSoftSetter

protected void buildSoftSetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String proxy,
                               ClassDefinition trait,
                               ClassDefinition core,
                               String setterName,
                               boolean protect)

buildSoftGetter

protected void buildSoftGetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String proxy,
                               ClassDefinition trait,
                               ClassDefinition core)

buildSoftGetter

protected void buildSoftGetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String proxy,
                               ClassDefinition trait,
                               ClassDefinition core,
                               String getterName,
                               boolean protect)

buildEqualityMethods

public void buildEqualityMethods(org.mvel2.asm.ClassVisitor cw,
                                 String proxy,
                                 String core)

buildKeyedEqualityMethods

public void buildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw,
                                      ClassDefinition trait,
                                      String proxy,
                                      String core)

buildKeyedEquals

protected void buildKeyedEquals(org.mvel2.asm.ClassVisitor cw,
                                ClassDefinition classDef,
                                String proxyType)

buildKeyedHashCode

protected void buildKeyedHashCode(org.mvel2.asm.ClassVisitor cw,
                                  ClassDefinition classDef,
                                  String proxyType)

buildCommonMethods

protected void buildCommonMethods(org.mvel2.asm.ClassWriter cw,
                                  String proxy)

buildExtendedMethods

protected void buildExtendedMethods(org.mvel2.asm.ClassWriter cw,
                                    ClassDefinition trait,
                                    ClassDefinition core,
                                    BitSet mask)

buildSynchFields

protected void buildSynchFields(org.mvel2.asm.ClassWriter cw,
                                String proxyName,
                                ClassDefinition trait,
                                ClassDefinition core,
                                BitSet mask)

synchField

protected void synchField(org.mvel2.asm.MethodVisitor mv,
                          FieldDefinition fld,
                          String proxyName)

synchFieldLogical

protected void synchFieldLogical(org.mvel2.asm.MethodVisitor mv,
                                 FieldDefinition fld,
                                 String proxyName,
                                 ClassDefinition trait,
                                 ClassDefinition core,
                                 boolean hardField,
                                 int j)

shedField

protected void shedField(org.mvel2.asm.MethodVisitor mv,
                         FieldDefinition fld,
                         String proxyName,
                         ClassDefinition trait,
                         ClassDefinition core,
                         boolean hardField,
                         int j)


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