Package org.drools.core.base
Class ClassFieldReader
- java.lang.Object
-
- org.drools.core.base.ClassFieldReader
-
- All Implemented Interfaces:
Externalizable,Serializable,InternalReadAccessor,ReadAccessor
public class ClassFieldReader extends Object implements Externalizable, InternalReadAccessor
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 Summary
Constructors Constructor Description ClassFieldReader()ClassFieldReader(String className, String fieldName)
-
Method Summary
-
-
-
Method Detail
-
decapitalizeFieldName
public static String decapitalizeFieldName(String name)
Utility method to take a string and convert it to normal Java variable name capitalization. This normally means converting the first character from upper case to lower case, but in the (unusual) special case when there is more than one character and both the first and second characters are upper case, we leave it alone.Thus "FooBah" becomes "fooBah" and "X" becomes "x", but "URL" stays as "URL". Taken from
- Parameters:
name- The string to be decapitalized.- Returns:
- The decapitalized version of the string.
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Throws:
IOException
-
readExternal
public void readExternal(ObjectInput is) throws ClassNotFoundException, IOException
- Specified by:
readExternalin interfaceExternalizable- Throws:
ClassNotFoundExceptionIOException
-
setReadAccessor
public void setReadAccessor(InternalReadAccessor reader)
-
getIndex
public int getIndex()
- Specified by:
getIndexin interfaceReadAccessor
-
getClassName
public String getClassName()
-
getFieldName
public String getFieldName()
-
hasReadAccessor
public boolean hasReadAccessor()
-
getValue
public Object getValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getValuein interfaceInternalReadAccessor
-
getValueType
public ValueType getValueType()
- Specified by:
getValueTypein interfaceReadAccessor
-
getExtractToClass
public Class<?> getExtractToClass()
- Specified by:
getExtractToClassin interfaceReadAccessor
-
getExtractToClassName
public String getExtractToClassName()
- Specified by:
getExtractToClassNamein interfaceReadAccessor
-
getBooleanValue
public boolean getBooleanValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getBooleanValuein interfaceInternalReadAccessor
-
getByteValue
public byte getByteValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getByteValuein interfaceInternalReadAccessor
-
getCharValue
public char getCharValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getCharValuein interfaceInternalReadAccessor
-
getDoubleValue
public double getDoubleValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getDoubleValuein interfaceInternalReadAccessor
-
getFloatValue
public float getFloatValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getFloatValuein interfaceInternalReadAccessor
-
getIntValue
public int getIntValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getIntValuein interfaceInternalReadAccessor
-
getLongValue
public long getLongValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getLongValuein interfaceInternalReadAccessor
-
getShortValue
public short getShortValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getShortValuein interfaceInternalReadAccessor
-
isNullValue
public boolean isNullValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
isNullValuein interfaceInternalReadAccessor
-
getNativeReadMethod
public Method getNativeReadMethod()
- Specified by:
getNativeReadMethodin interfaceReadAccessor
-
getNativeReadMethodName
public String getNativeReadMethodName()
- Specified by:
getNativeReadMethodNamein interfaceReadAccessor
-
getHashCode
public int getHashCode(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getHashCodein interfaceInternalReadAccessor
-
isGlobal
public boolean isGlobal()
- Specified by:
isGlobalin interfaceInternalReadAccessor
-
isSelfReference
public boolean isSelfReference()
- Specified by:
isSelfReferencein interfaceInternalReadAccessor
-
getBooleanValue
public boolean getBooleanValue(Object object)
- Specified by:
getBooleanValuein interfaceReadAccessor
-
getByteValue
public byte getByteValue(Object object)
- Specified by:
getByteValuein interfaceReadAccessor
-
getCharValue
public char getCharValue(Object object)
- Specified by:
getCharValuein interfaceReadAccessor
-
getDoubleValue
public double getDoubleValue(Object object)
- Specified by:
getDoubleValuein interfaceReadAccessor
-
getFloatValue
public float getFloatValue(Object object)
- Specified by:
getFloatValuein interfaceReadAccessor
-
getHashCode
public int getHashCode(Object object)
- Specified by:
getHashCodein interfaceReadAccessor
-
getIntValue
public int getIntValue(Object object)
- Specified by:
getIntValuein interfaceReadAccessor
-
getLongValue
public long getLongValue(Object object)
- Specified by:
getLongValuein interfaceReadAccessor
-
getShortValue
public short getShortValue(Object object)
- Specified by:
getShortValuein interfaceReadAccessor
-
getValue
public Object getValue(Object object)
- Specified by:
getValuein interfaceReadAccessor
-
isNullValue
public boolean isNullValue(Object object)
- Specified by:
isNullValuein interfaceReadAccessor
-
getBigDecimalValue
public BigDecimal getBigDecimalValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getBigDecimalValuein interfaceInternalReadAccessor
-
getBigIntegerValue
public BigInteger getBigIntegerValue(ReteEvaluator reteEvaluator, Object object)
- Specified by:
getBigIntegerValuein interfaceInternalReadAccessor
-
getBigDecimalValue
public BigDecimal getBigDecimalValue(Object object)
- Specified by:
getBigDecimalValuein interfaceReadAccessor
-
getBigIntegerValue
public BigInteger getBigIntegerValue(Object object)
- Specified by:
getBigIntegerValuein interfaceReadAccessor
-
getAccessorKey
public AccessorKey getAccessorKey()
-
-