Class ClassFieldAccessorFactory

  • All Implemented Interfaces:
    java.lang.Comparable<org.kie.api.internal.utils.KieService>, org.drools.core.base.FieldAccessorFactory, org.kie.api.internal.utils.KieService

    public class ClassFieldAccessorFactory
    extends java.lang.Object
    implements org.drools.core.base.FieldAccessorFactory
    This generates subclasses of BaseClassFieldExtractor to provide field extractors. This should not be used directly, but via ClassFieldExtractor (which ensures that it is all nicely serializable).
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.drools.core.base.FieldAccessorFactory

        org.drools.core.base.FieldAccessorFactory.Holder
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected static org.mvel2.asm.ClassWriter buildClassHeader​(java.lang.Class<?> superClass, java.lang.String className)
      Builds the class header
      protected static void buildGetMethod​(java.lang.Class<?> originalClass, java.lang.String className, java.lang.Class<?> superClass, java.lang.reflect.Method getterMethod, org.mvel2.asm.ClassWriter cw)
      Creates the proxy reader method for the given method
      protected static void buildSetMethod​(java.lang.Class<?> originalClass, java.lang.String className, java.lang.Class<?> superClass, java.lang.reflect.Method setterMethod, java.lang.Class<?> fieldType, org.mvel2.asm.ClassWriter cw)
      Creates the set method for the given field definition
      org.drools.base.base.BaseClassFieldReader getClassFieldReader​(java.lang.Class<?> clazz, java.lang.String fieldName, org.drools.core.base.ClassFieldAccessorCache.CacheEntry cache)  
      org.drools.core.base.BaseClassFieldWriter getClassFieldWriter​(java.lang.Class<?> clazz, java.lang.String fieldName, org.drools.core.base.ClassFieldAccessorCache.CacheEntry cache)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.kie.api.internal.utils.KieService

        compareTo, servicePriority
    • Constructor Detail

      • ClassFieldAccessorFactory

        public ClassFieldAccessorFactory()
    • Method Detail

      • getClassFieldReader

        public org.drools.base.base.BaseClassFieldReader getClassFieldReader​(java.lang.Class<?> clazz,
                                                                             java.lang.String fieldName,
                                                                             org.drools.core.base.ClassFieldAccessorCache.CacheEntry cache)
        Specified by:
        getClassFieldReader in interface org.drools.core.base.FieldAccessorFactory
      • getClassFieldWriter

        public org.drools.core.base.BaseClassFieldWriter getClassFieldWriter​(java.lang.Class<?> clazz,
                                                                             java.lang.String fieldName,
                                                                             org.drools.core.base.ClassFieldAccessorCache.CacheEntry cache)
        Specified by:
        getClassFieldWriter in interface org.drools.core.base.FieldAccessorFactory
      • buildClassHeader

        protected static org.mvel2.asm.ClassWriter buildClassHeader​(java.lang.Class<?> superClass,
                                                                    java.lang.String className)
        Builds the class header
      • buildGetMethod

        protected static void buildGetMethod​(java.lang.Class<?> originalClass,
                                             java.lang.String className,
                                             java.lang.Class<?> superClass,
                                             java.lang.reflect.Method getterMethod,
                                             org.mvel2.asm.ClassWriter cw)
        Creates the proxy reader method for the given method
      • buildSetMethod

        protected static void buildSetMethod​(java.lang.Class<?> originalClass,
                                             java.lang.String className,
                                             java.lang.Class<?> superClass,
                                             java.lang.reflect.Method setterMethod,
                                             java.lang.Class<?> fieldType,
                                             org.mvel2.asm.ClassWriter cw)
        Creates the set method for the given field definition