public abstract class AbstractTraitFactory<T extends Thing<K>,K extends TraitableBean> extends Object implements org.mvel2.asm.Opcodes, Externalizable
| Modifier and Type | Field and Description |
|---|---|
protected Map<String,Constructor> |
factoryCache |
protected VirtualPropertyMode |
mode |
protected static String |
PACKAGE |
static String |
SUFFIX |
protected Map<Class,Class<? extends CoreWrapper<?>>> |
wrapperCache |
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 and Description |
|---|
AbstractTraitFactory() |
protected VirtualPropertyMode mode
public static final String SUFFIX
protected static final String PACKAGE
protected Map<String,Constructor> factoryCache
protected Map<Class,Class<? extends CoreWrapper<?>>> wrapperCache
protected static void setMode(VirtualPropertyMode newMode, KieComponentFactory rcf)
public void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizableIOExceptionpublic void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizableIOExceptionClassNotFoundException@Deprecated public T getProxy(K core, Class<?> trait) throws LogicalTypeInconsistencyException
public T getProxy(K core, Class<?> trait, boolean logical) throws LogicalTypeInconsistencyException
protected Constructor<T> cacheConstructor(String key, K core, Class<?> trait)
public static String getProxyName(ClassDefinition trait, ClassDefinition core)
public static String getPropertyWrapperName(ClassDefinition trait, ClassDefinition core)
public <K> CoreWrapper<K> getCoreWrapper(Class<K> coreKlazz, ClassDefinition coreDef)
public <K> TraitableBean<K,CoreWrapper<K>> asTraitable(K core, ClassDefinition coreDef)
public ClassDefinition buildClassDefinition(Class<?> klazz, Class<?> wrapperClass) throws IOException
IOExceptionprotected <K> Class<CoreWrapper<K>> buildCoreWrapper(Class<K> coreKlazz, ClassDefinition coreDef) throws IOException, ClassNotFoundException
IOExceptionClassNotFoundExceptionpublic static void valueOf(org.mvel2.asm.MethodVisitor mv,
String type)
public static void primitiveValue(org.mvel2.asm.MethodVisitor mv,
String fieldType)
public static void invokeExtractor(org.mvel2.asm.MethodVisitor mv,
String masterName,
ClassDefinition core,
FieldDefinition field)
public static void invokeInjector(org.mvel2.asm.MethodVisitor mv,
String masterName,
ClassDefinition core,
FieldDefinition field,
boolean toNull,
int pointer)
public static int getStackSize(Method m)
protected static boolean excludeFromShadowing(Method m, ClassDefinition cdef)
protected static boolean isGetter(Method m, ClassDefinition cdef)
protected static boolean isSetter(Method m, ClassDefinition cdef)
protected abstract Class<?> registerAndLoadTypeDefinition(String proxyName, byte[] proxy) throws ClassNotFoundException
ClassNotFoundExceptionprotected abstract ClassLoader getRootClassLoader()
protected abstract KieComponentFactory getComponentFactory()
protected abstract TraitRegistry getTraitRegistry()
protected abstract HierarchyEncoder getHierarchyEncoder()
protected abstract TripleStore getTripleStore()
protected abstract TripleFactory getTripleFactory()
protected abstract ClassFieldAccessorStore getClassFieldAccessorStore()
Copyright © 2001–2019 JBoss by Red Hat. All rights reserved.