Class ClassFieldInspectorImpl

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

    public class ClassFieldInspectorImpl
    extends Object
    implements org.drools.core.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 Detail

      • 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 Detail

      • 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.core.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.core.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.core.base.ClassFieldInspector
        Returns:
        A mapping of field types (unboxed).
      • getFieldTypes

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

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

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

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

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

        protected Map<String,​Collection<org.kie.internal.builder.KnowledgeBuilderResult>> getResults()