Class ClassFieldReader

  • All Implemented Interfaces:
    Externalizable, Serializable, org.drools.core.base.AccessorKeySupplier, org.drools.core.base.FieldNameSupplier, org.drools.core.rule.accessor.ReadAccessor

    public class ClassFieldReader
    extends Object
    implements Externalizable, org.drools.core.rule.accessor.ReadAccessor, org.drools.core.base.FieldNameSupplier, org.drools.core.base.AccessorKeySupplier
    This provides access to fields, and what their numerical index/object type is. This is basically a wrapper class around dynamically generated subclasses of BaseClassFieldExtractor, which allows serialization by regenerating the accessor classes when needed.
    See Also:
    Serialized Form
    • Constructor Detail

      • ClassFieldReader

        public ClassFieldReader()
      • ClassFieldReader

        public ClassFieldReader​(String className,
                                String fieldName)
    • Method Detail

      • setReadAccessor

        public void setReadAccessor​(org.drools.core.rule.accessor.ReadAccessor reader)
      • getIndex

        public int getIndex()
        Specified by:
        getIndex in interface org.drools.core.rule.accessor.ReadAccessor
      • getClassName

        public String getClassName()
      • getFieldName

        public String getFieldName()
        Specified by:
        getFieldName in interface org.drools.core.base.FieldNameSupplier
      • hasReadAccessor

        public boolean hasReadAccessor()
      • getValue

        public Object getValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                               Object object)
        Specified by:
        getValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getValueType

        public org.drools.core.base.ValueType getValueType()
        Specified by:
        getValueType in interface org.drools.core.rule.accessor.ReadAccessor
      • getExtractToClass

        public Class<?> getExtractToClass()
        Specified by:
        getExtractToClass in interface org.drools.core.rule.accessor.ReadAccessor
      • getExtractToClassName

        public String getExtractToClassName()
        Specified by:
        getExtractToClassName in interface org.drools.core.rule.accessor.ReadAccessor
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • getBooleanValue

        public boolean getBooleanValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                       Object object)
        Specified by:
        getBooleanValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getByteValue

        public byte getByteValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                 Object object)
        Specified by:
        getByteValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getCharValue

        public char getCharValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                 Object object)
        Specified by:
        getCharValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getDoubleValue

        public double getDoubleValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                     Object object)
        Specified by:
        getDoubleValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getFloatValue

        public float getFloatValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                   Object object)
        Specified by:
        getFloatValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getIntValue

        public int getIntValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                               Object object)
        Specified by:
        getIntValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getLongValue

        public long getLongValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                 Object object)
        Specified by:
        getLongValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getShortValue

        public short getShortValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                   Object object)
        Specified by:
        getShortValue in interface org.drools.core.rule.accessor.ReadAccessor
      • isNullValue

        public boolean isNullValue​(org.drools.core.common.ReteEvaluator reteEvaluator,
                                   Object object)
        Specified by:
        isNullValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getNativeReadMethod

        public Method getNativeReadMethod()
        Specified by:
        getNativeReadMethod in interface org.drools.core.rule.accessor.ReadAccessor
      • getNativeReadMethodName

        public String getNativeReadMethodName()
        Specified by:
        getNativeReadMethodName in interface org.drools.core.rule.accessor.ReadAccessor
      • getHashCode

        public int getHashCode​(org.drools.core.common.ReteEvaluator reteEvaluator,
                               Object object)
        Specified by:
        getHashCode in interface org.drools.core.rule.accessor.ReadAccessor
      • isGlobal

        public boolean isGlobal()
        Specified by:
        isGlobal in interface org.drools.core.rule.accessor.ReadAccessor
      • isSelfReference

        public boolean isSelfReference()
        Specified by:
        isSelfReference in interface org.drools.core.rule.accessor.ReadAccessor
      • getHashCode

        public int getHashCode​(Object object)
        Specified by:
        getHashCode in interface org.drools.core.rule.accessor.ReadAccessor
      • getValue

        public Object getValue​(Object object)
        Specified by:
        getValue in interface org.drools.core.rule.accessor.ReadAccessor
      • isNullValue

        public boolean isNullValue​(Object object)
        Specified by:
        isNullValue in interface org.drools.core.rule.accessor.ReadAccessor
      • getAccessorKey

        public org.drools.core.base.AccessorKey getAccessorKey()
        Specified by:
        getAccessorKey in interface org.drools.core.base.AccessorKeySupplier