Class ClassFieldAccessorFactory

  • All Implemented Interfaces:
    org.drools.core.base.FieldAccessorFactory

    public class ClassFieldAccessorFactory
    extends 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).
    • Constructor Detail

      • ClassFieldAccessorFactory

        public ClassFieldAccessorFactory()
    • Method Detail

      • getClassFieldReader

        public org.drools.core.base.BaseClassFieldReader getClassFieldReader​(Class<?> clazz,
                                                                             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​(Class<?> clazz,
                                                                             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​(Class<?> superClass,
                                                                    String className)
        Builds the class header
      • buildGetMethod

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

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