Package org.drools.traits.core.factmodel
Class AbstractProxyClassBuilderImpl
- java.lang.Object
-
- org.drools.traits.core.factmodel.AbstractProxyClassBuilderImpl
-
- All Implemented Interfaces:
Serializable,Comparable<org.kie.api.internal.utils.KieService>,org.drools.core.factmodel.ClassBuilder,TraitProxyClassBuilder,org.kie.api.internal.utils.KieService,org.mvel2.asm.Opcodes
- Direct Known Subclasses:
TraitMapProxyClassBuilderImpl,TraitTripleProxyClassBuilderImpl
public abstract class AbstractProxyClassBuilderImpl extends Object implements TraitProxyClassBuilder, Serializable
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected Class<?>proxyBaseClassprotected org.drools.core.factmodel.ClassDefinitiontraitprotected TraitRegistryImpltraitRegistryImpl-
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_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, ASM4, ASM5, ASM6, ASM7, 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, 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, V9
-
-
Constructor Summary
Constructors Constructor Description AbstractProxyClassBuilderImpl()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidbuildEqualityMethods(org.mvel2.asm.ClassVisitor cw, String proxy, String core)protected voidbuildHardSetter(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.FieldDefinition field, String proxyName, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core, String setterName, int accessMode)voidbuildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.ClassDefinition trait, String proxy)protected abstract voidbuildKeyedEquals(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.ClassDefinition trait, String proxyType)protected abstract voidbuildKeyedHashCode(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.ClassDefinition trait, String proxyType)protected voidbuildLogicalGetter(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.FieldDefinition field, String proxy, org.drools.core.factmodel.ClassDefinition core)protected voidbuildShadowMethod(org.mvel2.asm.ClassWriter cw, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core, Method m)protected voidbuildSynchFields(org.mvel2.asm.ClassWriter cw, String proxyName, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core)protected ClassgetPossibleConstructor(Class<?> klass, Class<?> arg)protected org.drools.core.factmodel.ClassDefinitiongetTrait()protected voidhelpBuildClass(org.drools.core.factmodel.ClassDefinition core, org.mvel2.asm.ClassWriter cw, String internalProxy, String descrCore, BitSet mask)voidhelpSet(org.drools.core.factmodel.ClassDefinition core, org.drools.core.factmodel.FieldDefinition field, org.mvel2.asm.MethodVisitor mv, String proxyName)voidinit(org.drools.core.factmodel.ClassDefinition trait, Class<?> baseClass, TraitRegistryImpl traitRegistryImpl)protected voidlogicalSetter(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition field, String proxyName, org.drools.core.factmodel.ClassDefinition core)protected voidshedField(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName, org.drools.core.factmodel.ClassDefinition core, boolean hardField, int j)protected voidsynchField(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName)protected voidsynchFieldLogical(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName, org.drools.core.factmodel.ClassDefinition core, int j)
-
-
-
Field Detail
-
trait
protected transient org.drools.core.factmodel.ClassDefinition trait
-
proxyBaseClass
protected transient Class<?> proxyBaseClass
-
traitRegistryImpl
protected transient TraitRegistryImpl traitRegistryImpl
-
-
Method Detail
-
getTrait
protected org.drools.core.factmodel.ClassDefinition getTrait()
-
init
public void init(org.drools.core.factmodel.ClassDefinition trait, Class<?> baseClass, TraitRegistryImpl traitRegistryImpl)- Specified by:
initin interfaceTraitProxyClassBuilder
-
helpBuildClass
protected void helpBuildClass(org.drools.core.factmodel.ClassDefinition core, org.mvel2.asm.ClassWriter cw, String internalProxy, String descrCore, BitSet mask) throws IOException, SecurityException, IllegalArgumentException, ClassNotFoundException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException, NoSuchFieldException
-
buildShadowMethod
protected void buildShadowMethod(org.mvel2.asm.ClassWriter cw, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core, Method m)
-
shedField
protected void shedField(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName, org.drools.core.factmodel.ClassDefinition core, boolean hardField, int j)
-
buildHardSetter
protected void buildHardSetter(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.FieldDefinition field, String proxyName, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core, String setterName, int accessMode)
-
synchFieldLogical
protected void synchFieldLogical(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName, org.drools.core.factmodel.ClassDefinition core, int j)
-
synchField
protected void synchField(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition fld, String proxyName)
-
buildSynchFields
protected void buildSynchFields(org.mvel2.asm.ClassWriter cw, String proxyName, org.drools.core.factmodel.ClassDefinition trait, org.drools.core.factmodel.ClassDefinition core)
-
logicalSetter
protected void logicalSetter(org.mvel2.asm.MethodVisitor mv, org.drools.core.factmodel.FieldDefinition field, String proxyName, org.drools.core.factmodel.ClassDefinition core)
-
buildLogicalGetter
protected void buildLogicalGetter(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.FieldDefinition field, String proxy, org.drools.core.factmodel.ClassDefinition core)
-
helpSet
public void helpSet(org.drools.core.factmodel.ClassDefinition core, org.drools.core.factmodel.FieldDefinition field, org.mvel2.asm.MethodVisitor mv, String proxyName)
-
buildKeyedEqualityMethods
public void buildKeyedEqualityMethods(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.ClassDefinition trait, String proxy)
-
buildKeyedHashCode
protected abstract void buildKeyedHashCode(org.mvel2.asm.ClassVisitor cw, org.drools.core.factmodel.ClassDefinition trait, String proxyType)
-
buildKeyedEquals
protected abstract void buildKeyedEquals(org.mvel2.asm.ClassVisitor cw, org.drools.core.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
-
-