Class ClassFieldInspectorImpl

java.lang.Object
org.drools.mvel.asm.ClassFieldInspectorImpl
All Implemented Interfaces:
org.drools.base.base.ClassFieldInspector

public class ClassFieldInspectorImpl extends Object implements org.drools.base.base.ClassFieldInspector
Visit a POJO user class, and extract the property getter methods that are public, in the order in which they are declared actually in the class itself (not using introspection). This may be enhanced in the future to allow annotations or perhaps external meta data configure the order of the indexes, as this may provide fine tuning options in special cases.
  • Constructor Details

    • ClassFieldInspectorImpl

      public ClassFieldInspectorImpl(Class<?> classUnderInspection) throws IOException
      Parameters:
      classUnderInspection - The class that the fields to be shadowed are extracted for.
      Throws:
      IOException
    • ClassFieldInspectorImpl

      public ClassFieldInspectorImpl(Class<?> classUnderInspection, boolean includeFinalMethods) throws IOException
      Throws:
      IOException
  • Method Details

    • getFieldNames

      public Map<String,Integer> getFieldNames()
      Return a mapping of the field "names" (ie bean property name convention) to the numerical index by which they can be accessed.
      Specified by:
      getFieldNames in interface org.drools.base.base.ClassFieldInspector
    • isNonGetter

      public boolean isNonGetter(String name)
      sotty: Checks whether a returned field is actually a getter or not
      Specified by:
      isNonGetter in interface org.drools.base.base.ClassFieldInspector
      Parameters:
      name - the field to test
      Returns:
      true id the name does not correspond to a getter field
    • getFieldTypesField

      public Map<String,Field> getFieldTypesField()
      Specified by:
      getFieldTypesField in interface org.drools.base.base.ClassFieldInspector
      Returns:
      A mapping of field types (unboxed).
    • getFieldTypes

      public Map<String,Class<?>> getFieldTypes()
      Specified by:
      getFieldTypes in interface org.drools.base.base.ClassFieldInspector
      Returns:
      A mapping of field types (unboxed).
    • getFieldType

      public Class<?> getFieldType(String name)
      Specified by:
      getFieldType in interface org.drools.base.base.ClassFieldInspector
    • getGetterMethods

      public Map<String,Method> getGetterMethods()
      Specified by:
      getGetterMethods in interface org.drools.base.base.ClassFieldInspector
      Returns:
      A mapping of methods for the getters.
    • getSetterMethods

      public Map<String,Method> getSetterMethods()
      Specified by:
      getSetterMethods in interface org.drools.base.base.ClassFieldInspector
      Returns:
      A mapping of methods for the getters.
    • getInspectionResults

      public Collection<KnowledgeBuilderResult> getInspectionResults(String fieldName)
      Specified by:
      getInspectionResults in interface org.drools.base.base.ClassFieldInspector
    • getResults

      protected Map<String,Collection<KnowledgeBuilderResult>> getResults()