Class ClassFieldReader

java.lang.Object
org.drools.mvel.accessors.ClassFieldReader
All Implemented Interfaces:
Externalizable, Serializable, org.drools.base.base.AccessorKeySupplier, org.drools.base.rule.accessor.ReadAccessor, FieldNameSupplier

public class ClassFieldReader extends Object implements Externalizable, org.drools.base.rule.accessor.ReadAccessor, FieldNameSupplier, org.drools.base.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:
  • Constructor Details

    • ClassFieldReader

      public ClassFieldReader()
    • ClassFieldReader

      public ClassFieldReader(String className, String fieldName)
  • Method Details

    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException
    • readExternal

      public void readExternal(ObjectInput is) throws ClassNotFoundException, IOException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      ClassNotFoundException
      IOException
    • setReadAccessor

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

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

      public String getClassName()
    • getFieldName

      public String getFieldName()
      Specified by:
      getFieldName in interface FieldNameSupplier
    • hasReadAccessor

      public boolean hasReadAccessor()
    • getValue

      public Object getValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getValueType

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

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

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

      public String toString()
      Overrides:
      toString in class Object
    • hashCode

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

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • getBooleanValue

      public boolean getBooleanValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getBooleanValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getByteValue

      public byte getByteValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getByteValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getCharValue

      public char getCharValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getCharValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getDoubleValue

      public double getDoubleValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getDoubleValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getFloatValue

      public float getFloatValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getFloatValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getIntValue

      public int getIntValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getIntValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getLongValue

      public long getLongValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getLongValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getShortValue

      public short getShortValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getShortValue in interface org.drools.base.rule.accessor.ReadAccessor
    • isNullValue

      public boolean isNullValue(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      isNullValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getNativeReadMethod

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

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

      public int getHashCode(org.drools.base.base.ValueResolver valueResolver, Object object)
      Specified by:
      getHashCode in interface org.drools.base.rule.accessor.ReadAccessor
    • isGlobal

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

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

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

      public Object getValue(Object object)
      Specified by:
      getValue in interface org.drools.base.rule.accessor.ReadAccessor
    • getAccessorKey

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