Class AbstractProxyClassBuilderImpl

java.lang.Object
org.drools.traits.core.factmodel.AbstractProxyClassBuilderImpl
All Implemented Interfaces:
Serializable, Comparable<KieService>, ClassBuilder, TraitProxyClassBuilder, KieService, org.mvel2.asm.Opcodes
Direct Known Subclasses:
TraitMapProxyClassBuilderImpl, TraitTripleProxyClassBuilderImpl

public abstract class AbstractProxyClassBuilderImpl extends Object implements TraitProxyClassBuilder, Serializable
See Also:
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected Class<?>
     
    protected org.drools.base.factmodel.ClassDefinition
     
     

    Fields inherited from interface org.kie.api.internal.utils.KieService

    UNDEFINED

    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_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
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    buildEqualityMethods(org.mvel2.asm.ClassVisitor cw, String proxy, String core)
     
    protected void
    buildHardSetter(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.FieldDefinition field, String proxyName, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core, String setterName, int accessMode)
     
    void
    buildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxy)
     
    protected abstract void
    buildKeyedEquals(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxyType)
     
    protected abstract void
    buildKeyedHashCode(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxyType)
     
    protected void
    buildLogicalGetter(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.FieldDefinition field, String proxy, org.drools.base.factmodel.ClassDefinition core)
     
    protected void
    buildShadowMethod(org.mvel2.asm.ClassWriter cw, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core, Method m)
     
    protected void
    buildSynchFields(org.mvel2.asm.ClassWriter cw, String proxyName, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core)
     
    protected Class
    getPossibleConstructor(Class<?> klass, Class<?> arg)
     
    protected org.drools.base.factmodel.ClassDefinition
     
    protected void
    helpBuildClass(org.drools.base.factmodel.ClassDefinition core, org.mvel2.asm.ClassWriter cw, String internalProxy, String descrCore, BitSet mask)
     
    void
    helpSet(org.drools.base.factmodel.ClassDefinition core, org.drools.base.factmodel.FieldDefinition field, org.mvel2.asm.MethodVisitor mv, String proxyName)
     
    void
    init(org.drools.base.factmodel.ClassDefinition trait, Class<?> baseClass, TraitRegistryImpl traitRegistryImpl)
     
    protected void
    logicalSetter(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition field, String proxyName, org.drools.base.factmodel.ClassDefinition core)
     
    protected void
    shedField(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName, org.drools.base.factmodel.ClassDefinition core, boolean hardField, int j)
     
    protected void
    synchField(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName)
     
    protected void
    synchFieldLogical(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName, org.drools.base.factmodel.ClassDefinition core, int j)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.drools.compiler.builder.impl.classbuilder.ClassBuilder

    buildClass

    Methods inherited from interface org.kie.api.internal.utils.KieService

    compareTo, servicePriority, serviceTag
  • Field Details

    • trait

      protected transient org.drools.base.factmodel.ClassDefinition trait
    • proxyBaseClass

      protected transient Class<?> proxyBaseClass
    • traitRegistryImpl

      protected transient TraitRegistryImpl traitRegistryImpl
  • Constructor Details

    • AbstractProxyClassBuilderImpl

      public AbstractProxyClassBuilderImpl()
  • Method Details

    • getTrait

      protected org.drools.base.factmodel.ClassDefinition getTrait()
    • init

      public void init(org.drools.base.factmodel.ClassDefinition trait, Class<?> baseClass, TraitRegistryImpl traitRegistryImpl)
      Specified by:
      init in interface TraitProxyClassBuilder
    • helpBuildClass

      protected void helpBuildClass(org.drools.base.factmodel.ClassDefinition core, org.mvel2.asm.ClassWriter cw, String internalProxy, String descrCore, BitSet mask) throws IOException, SecurityException, IllegalArgumentException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchFieldException
      Throws:
      IOException
      SecurityException
      IllegalArgumentException
      ClassNotFoundException
      NoSuchMethodException
      IllegalAccessException
      InvocationTargetException
      InstantiationException
      NoSuchFieldException
    • buildShadowMethod

      protected void buildShadowMethod(org.mvel2.asm.ClassWriter cw, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core, Method m)
    • shedField

      protected void shedField(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName, org.drools.base.factmodel.ClassDefinition core, boolean hardField, int j)
    • buildHardSetter

      protected void buildHardSetter(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.FieldDefinition field, String proxyName, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core, String setterName, int accessMode)
    • synchFieldLogical

      protected void synchFieldLogical(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName, org.drools.base.factmodel.ClassDefinition core, int j)
    • synchField

      protected void synchField(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition fld, String proxyName)
    • buildSynchFields

      protected void buildSynchFields(org.mvel2.asm.ClassWriter cw, String proxyName, org.drools.base.factmodel.ClassDefinition trait, org.drools.base.factmodel.ClassDefinition core)
    • logicalSetter

      protected void logicalSetter(org.mvel2.asm.MethodVisitor mv, org.drools.base.factmodel.FieldDefinition field, String proxyName, org.drools.base.factmodel.ClassDefinition core)
    • buildLogicalGetter

      protected void buildLogicalGetter(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.FieldDefinition field, String proxy, org.drools.base.factmodel.ClassDefinition core)
    • helpSet

      public void helpSet(org.drools.base.factmodel.ClassDefinition core, org.drools.base.factmodel.FieldDefinition field, org.mvel2.asm.MethodVisitor mv, String proxyName)
    • buildKeyedEqualityMethods

      public void buildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxy)
    • buildKeyedHashCode

      protected abstract void buildKeyedHashCode(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxyType)
    • buildKeyedEquals

      protected abstract void buildKeyedEquals(org.mvel2.asm.ClassVisitor cw, org.drools.base.factmodel.ClassDefinition trait, String proxyType)
    • buildEqualityMethods

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

      protected Class getPossibleConstructor(Class<?> klass, Class<?> arg) throws NoSuchMethodException
      Throws:
      NoSuchMethodException