org.drools.factmodel.traits
Class TraitTripleProxyClassBuilderImpl

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

public class TraitTripleProxyClassBuilderImpl
extends Object
implements TraitProxyClassBuilder


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  void 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)
           
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(long mask, org.mvel2.asm.ClassWriter cw, String masterName, ClassDefinition core, Map<String,Method> mixinGetSet, FieldDefinition field, boolean isSoftField)
           
protected  void buildProxyAccessors(long 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)
           
protected  void buildSoftGetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, String getterName, boolean protect)
           
protected  void buildSoftSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy)
           
protected  void buildSoftSetter(org.mvel2.asm.ClassVisitor cw, FieldDefinition field, String proxy, String setterName, boolean protect)
           
protected  ClassDefinition getTrait()
           
 void init(ClassDefinition trait)
           
 
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)
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 void buildConstructorCore(org.mvel2.asm.ClassWriter cw,
                                    org.mvel2.asm.MethodVisitor mv,
                                    String internalProxy,
                                    String internalWrapper,
                                    String internalCore,
                                    String descrCore,
                                    String mixin,
                                    Class mixinClass)

buildProxyAccessors

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

buildProxyAccessor

protected void buildProxyAccessor(long 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)

buildSoftSetter

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

buildSoftGetter

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

buildSoftGetter

protected void buildSoftGetter(org.mvel2.asm.ClassVisitor cw,
                               FieldDefinition field,
                               String proxy,
                               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)


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