org.drools.base
Class ClassFieldAccessorFactory

java.lang.Object
  extended by org.drools.base.ClassFieldAccessorFactory

public class ClassFieldAccessorFactory
extends Object

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 Summary
ClassFieldAccessorFactory()
           
 
Method Summary
protected  void buildClassHeader(Class<?> superClass, String className, org.mvel2.asm.ClassWriter cw)
          Builds the class header
protected  void buildGetMethod(Class<?> originalClass, String className, Class<?> superClass, Method getterMethod, org.mvel2.asm.ClassWriter cw)
          Creates the proxy reader method for the given method
protected  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
 BaseClassFieldReader getClassFieldReader(Class<?> clazz, String fieldName, ClassFieldAccessorCache.CacheEntry cache)
           
 BaseClassFieldWriter getClassFieldWriter(Class<?> clazz, String fieldName, ClassFieldAccessorCache.CacheEntry cache)
           
static ClassFieldAccessorFactory getInstance()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassFieldAccessorFactory

public ClassFieldAccessorFactory()
Method Detail

getInstance

public static ClassFieldAccessorFactory getInstance()

getClassFieldReader

public BaseClassFieldReader getClassFieldReader(Class<?> clazz,
                                                String fieldName,
                                                ClassFieldAccessorCache.CacheEntry cache)

getClassFieldWriter

public BaseClassFieldWriter getClassFieldWriter(Class<?> clazz,
                                                String fieldName,
                                                ClassFieldAccessorCache.CacheEntry cache)

buildClassHeader

protected void buildClassHeader(Class<?> superClass,
                                String className,
                                org.mvel2.asm.ClassWriter cw)
Builds the class header

Parameters:
clazz - The class to build the extractor for
className - The extractor class name
cw -

buildGetMethod

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

Parameters:
fieldName -
fieldFlag -
method -
cw -

buildSetMethod

protected 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

Parameters:
cw -
classDef -
fieldDef -


Copyright © 2001-2013 JBoss Inc.. All Rights Reserved.