ABLE 2.0.0 07/02/2003 10:25:01

com.ibm.able.data
Class AbleTypedVariableField

java.lang.Object
  |
  +--com.ibm.able.data.AbleLhs
        |
        +--com.ibm.able.data.AbleTypedVariableField
All Implemented Interfaces:
AbleRd, AbleWr, java.io.Serializable

public class AbleTypedVariableField
extends AbleLhs
implements java.io.Serializable

This class provides read and/or write access to a field in an object that is the value of an AbleTypedVariable.

Introspection is used to find either the public data member corresponding to the specified field name on the object, or to find the public getter/setter methods on the field.

See Also:
Serialized Form

Field Summary
protected  int myDataType
          An AbleData.<DataType> constant that specifies this particular object's data type.
protected  java.lang.reflect.Field myField
          A reference to the actual field in the above typed variable.
protected  java.lang.String myFieldName
           
protected  boolean myGetDirectFlag
          Indicates whether the field is directly readable; that is, whether the field is PUBLIC.
protected  java.lang.reflect.Method myGetMethod
          The method used to get the current value of the field.
protected  boolean mySetDirectFlag
          Indicates whether the field is directly writable; that is, whether the field is PUBLIC and non-FINAL.
protected  java.lang.reflect.Method mySetMethod
          The method used to set the current value of the field.
protected  AbleTypedVariable myTypedVariable
          The typed variable to which this field belongs.
 
Constructor Summary
AbleTypedVariableField(AbleTypedVariable theTypedVariable, AbleTypedVariableField theField)
          Create a new TypedVariableField on a new typed variable instance
AbleTypedVariableField(AbleTypedVariable theTypedVariable, java.lang.reflect.Field theField, boolean theGetDirectFlag, java.lang.reflect.Method theGetMethod, boolean theSetDirectFlag, java.lang.reflect.Method theSetMethod)
          Create a new variable field reference object.
 
Method Summary
 java.lang.String arlCRdString()
          Return a formal rule language "clause" string that describes this data object.
 java.lang.String arlDclString()
          Return a formal rule language "declaration" string that describes this data object.
 void asgnEq(AbleRd theRhs)
          Assignment (boolean): assign the current value of theRhs to this data object.
 void asgnIs(AbleRd theRhs)
          Assignment (fuzzy): assign the current value of theRhs to this data object.
 void asgnIs(AbleRd theRhs, double theTruthValue)
          Assignment (fuzzy): assign the current value of theRhs to this data object, correlated with the specified truth value.
 AbleLiteral bitwiseAND(AbleRd theRhs)
          Bitwise AND the current value of this data object with the current value of theRhs.
 AbleLiteral bitwiseNOT(AbleRd theRhs)
          Bitwise NOT: unary complement of the current value of this data object.
 AbleLiteral bitwiseOR(AbleRd theRhs)
          Bitwise OR the current value of this data object with the current value of theRhs.
 AbleLiteral bitwiseShiftLeft(AbleRd theRhs)
          Bitwise Shift Left the current value of this data object by the current value of theRhs.
 AbleLiteral bitwiseShiftRight(AbleRd theRhs)
          Bitwise Shift Right the current value of this data object by the current value of theRhs.
 AbleLiteral bitwiseShiftRightZeroFill(AbleRd theRhs)
          Bitwise Shift Right with Zero Fill the current value of this data object by the current value of theRhs.
 AbleLiteral bitwiseXOR(AbleRd theRhs)
          Bitwise XOR: exclusive OR the current value of this data object with the current value of theRhs.
 boolean cmpEq(AbleRd theRhs)
          Comparison, equal to: compare the current value of this data object to the current value of theRhs.
 boolean cmpGt(AbleRd theRhs)
          Comparison, greater than: compare the current value of this data object to the current value of theRhs.
 boolean cmpGtEq(AbleRd theRhs)
          Comparison, greater than or equal to: compare the current value of this data object to the current value of theRhs.
 boolean cmpLt(AbleRd theRhs)
          Comparison, less than: compare the current value of this data object to the current value of theRhs.
 boolean cmpLtEq(AbleRd theRhs)
          Comparison, less than or equal to: compare the current value of this data object to the current value of theRhs.
 boolean cmpNeq(AbleRd theRhs)
          Comparison, not equal to: compare the current value of this data object to the current value of theRhs.
 AbleLiteral compDivide(AbleRd theRhs)
          Compute, divide the current value of this data object by the current value of theRhs.
 AbleLiteral compMinus(AbleRd theRhs)
          Compute, subtract the current value of theRhs from the current value of this object.
 AbleLiteral compModulo(AbleRd theRhs)
          Compute, modulo - divide (without remainder) the current int value of this data object by the current value of theRhs.
 AbleLiteral compMultiply(AbleRd theRhs)
          Compute, multiply the current value of this data object to the current value of theRhs.
 AbleLiteral compPlus(AbleRd theRhs)
          Compute, add or concatenate the current value of this data object to the current value of theRhs.
static java.lang.String Copyright()
          Determine the copyright of this class.
 boolean equals(java.lang.Object otherObject)
           
 boolean getBooleanValue()
          Retrieve the value of this data object as a boolean value.
 int getDataType()
          Retrieve the data type of this data object.
 java.lang.Class getDataTypeClass()
          Retrieve the Class of the underlying Field
 java.lang.String getDataTypeClassName()
          Retrieve the Class name of the underlying Field
 java.lang.String getFieldName()
           
 AbleFuzzySet getFuzzyValue()
          Retrieve the value of this data object as a fuzzy value.
 java.lang.Object getGenericValue()
          Retrieve the value of this data object as an Object.
 double getNumericValue()
          Retrieve the value of this data object as a numeric value.
 int getReferent()
          Retrieve the Id of the variable to which this data object refers, if any.
 java.util.BitSet getReferents()
          Retrieve the Ids of the variables to which this data object refers, if any.
 java.lang.String getStringValue()
          Retrieve the value of this data object as a string value.
 java.lang.String getTemplateString(java.util.Vector theTemplateVars)
          Return a formatted ARL text string for use by templates
 AbleTypedVariable getTypedVariable()
          Retrieve the typed variable
 java.lang.Class getTypedVariableClass()
          Retrieve the Class of the underlying typed variable
 AbleLiteral getValue()
          Retrieve the value of this data object as a literal.
 AbleTypedVariable getVariable()
           
 boolean isReadable()
          Returns true if the field is directly readable or if a method exists that can be used to get the value of the field.
 boolean isWritable()
          Returns true if the field is directly writable or if a method exists that can be used to set the value of the field.
 boolean logicalAND(AbleRd theRhs)
          Logical AND the current value of this data object with the current value of theRhs.
 boolean logicalNOT(AbleRd theRhs)
          Logical NOT: complement the current value of this data object.
 boolean logicalOR(AbleRd theRhs)
          Logical OR the current value of this data object with the current value of theRhs.
 void setBooleanValue(boolean theNewValue)
          Set the value of this data object from a boolean value.
 void setField(java.lang.reflect.Field theField)
          Used by AbleRuleSet during deserialization.
 void setFuzzyValue(AbleFuzzySet theNewValue)
          Set the value of this data object from a fuzzy value.
 void setGenericValue(java.lang.Object theNewValue)
          Set the value of this data object from an object.
 void setGetMethod(java.lang.reflect.Method theGetMethod)
          Used by AbleRuleSet during deserialization.
 void setNumericValue(double theNewValue)
          Set the value of this data object from a numeric value.
 void setSetMethod(java.lang.reflect.Method theSetMethod)
          Used by AbleRuleSet during deserialization.
 void setStringValue(java.lang.String theNewValue)
          Set the value of this data object from a string value.
 void setValue(AbleLiteral theNewValue)
          Set the value of this data object from a literal object.
 java.lang.String toString()
          Retrieve a string describing (the contents of) the object.
 java.lang.String traceString(int theTraceStringFlavor)
          Retrieve a string describing (the contents of) the object.
 java.lang.String xmlCRdString()
          Return a formal XML "read clause" string that describes this data object; for example, "very, very hot".
 java.lang.String xmlCWrString()
          Return a formal XML "clause write" string that describes this data object.
 java.lang.String xmlDclString()
          Return a formal XML "declaration" string that describes this data object.
 
Methods inherited from class com.ibm.able.data.AbleLhs
cmpIs, compUnaryMinus, isConstant
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

myDataType

protected int myDataType
An AbleData.<DataType> constant that specifies this particular object's data type.

This field is initialized to AbleData.TypedVariableField.


myTypedVariable

protected AbleTypedVariable myTypedVariable
The typed variable to which this field belongs.

This field is initialized to null and changed by the constructor when a new typed variable field is created.


myField

protected transient java.lang.reflect.Field myField
A reference to the actual field in the above typed variable.

This field is initialized to null and changed by the contructor when a new typed variable field is created.


myFieldName

protected java.lang.String myFieldName

myGetDirectFlag

protected boolean myGetDirectFlag
Indicates whether the field is directly readable; that is, whether the field is PUBLIC.

This field is initialized to false and may be changed by the contructor when a new typed variable field is created. If this member remains false, it means that myField is not directly readable and myGetMethod must be used to access the field.


myGetMethod

protected transient java.lang.reflect.Method myGetMethod
The method used to get the current value of the field.

This field is initialized to null and may be changed by the contructor when a new typed variable field is created. If this member remains null and myGetDirectFlag is false, myField is NOT readable at all. However, if this field contains a valid Method object, that Method can be used to access the field.


mySetDirectFlag

protected boolean mySetDirectFlag
Indicates whether the field is directly writable; that is, whether the field is PUBLIC and non-FINAL.

This field is initialized to false and may be changed by the contructor when a new typed variable field is created. If this member remains false, it means that myField is not directly writable and mySetMethod must be used to access the field.


mySetMethod

protected transient java.lang.reflect.Method mySetMethod
The method used to set the current value of the field.

This field is initialized to null and may be changed by the contructor when a new typed variable field is created. If this member remains null and mySetDirectFlag is false, myField is NOT writable at all. However, if this field contains a valid Method object, that Method can be used to access the field.

Constructor Detail

AbleTypedVariableField

public AbleTypedVariableField(AbleTypedVariable theTypedVariable,
                              java.lang.reflect.Field theField,
                              boolean theGetDirectFlag,
                              java.lang.reflect.Method theGetMethod,
                              boolean theSetDirectFlag,
                              java.lang.reflect.Method theSetMethod)
Create a new variable field reference object.
Parameters:
theTypedVariable - A typed variable that contains the following field.

theField - A specific field within the above typed variable.

theGetDirectFlag - If true, the field can be read directly without the use of theGetMethod (it is a PUBLIC field), so theGetMethod itself can be null. If false, the field is not directly accessible, so the method must be specified. If the flag is false AND the method is null, runtime exceptions will be thrown!

theGetMethod - A method on the typed variable that can be used to obtain the field's current value. If null is specified, it means that theField is PUBLIC and directly readable. The getDirectFlag must be true.

theSetDirectFlag - If true, the field can be set directly without the use of theSetMethod (it is a PUBLIC, non-FINAL field), so theSetMethod itself can be null. If false, the field is not directly accessible, so the method must be specified. If the flag is false AND the method is null, runtime exceptions will be thrown!

theSetMethod - A method on the typed variable that can be used to set the field's current value. If null is specified, it means that theField is PUBLIC, non-FINAL, and directly writable. The setDirectFlag must be true.


AbleTypedVariableField

public AbleTypedVariableField(AbleTypedVariable theTypedVariable,
                              AbleTypedVariableField theField)
Create a new TypedVariableField on a new typed variable instance
Method Detail

getBooleanValue

public boolean getBooleanValue()
                        throws AbleDataException
Retrieve the value of this data object as a boolean value.
Overrides:
getBooleanValue in class AbleLhs
Returns:
A boolean, if the value of this object can be represented as a boolean value.
Throws:
AbleDataException - If the value of this object cannot be represented as a boolean value.

getFuzzyValue

public AbleFuzzySet getFuzzyValue()
                           throws AbleDataException
Retrieve the value of this data object as a fuzzy value.
Overrides:
getFuzzyValue in class AbleLhs
Returns:
A fuzzy set, if the value of this object can be represented as a fuzzy value.
Throws:
AbleDataException - If the value of this object cannot be represented as a fuzzy value.

getGenericValue

public java.lang.Object getGenericValue()
                                 throws AbleDataException
Retrieve the value of this data object as an Object.
Overrides:
getGenericValue in class AbleLhs
Returns:
A Boolean, Double, String or Object object depending on the derived class.
Throws:
AbleDataException - If the value of this object cannot be represented as an Object.

getNumericValue

public double getNumericValue()
                       throws AbleDataException
Retrieve the value of this data object as a numeric value.
Overrides:
getNumericValue in class AbleLhs
Returns:
A double, if the value of this object can be represented as a numeric value.
Throws:
AbleDataException - If the value of this object cannot be represented as a numeric value.

getStringValue

public java.lang.String getStringValue()
                                throws AbleDataException
Retrieve the value of this data object as a string value.
Overrides:
getStringValue in class AbleLhs
Returns:
A String, if the value of this object can be represented as a string value.
Throws:
AbleDataException - If the value of this object cannot be represented as a string value.

getValue

public AbleLiteral getValue()
                     throws AbleDataException
Retrieve the value of this data object as a literal.
Overrides:
getValue in class AbleLhs
Returns:
An AbleLiteral object.
Throws:
AbleDataException - If the value of this object cannot be represented as a literal.

getReferent

public int getReferent()
Retrieve the Id of the variable to which this data object refers, if any.
Overrides:
getReferent in class AbleLhs
Returns:
The Id of the variable to which this data object refers, or AbleData.VarIdNull if the data object is a literal and therefore refers to no variable.

getReferents

public java.util.BitSet getReferents()
Retrieve the Ids of the variables to which this data object refers, if any. Must be overriden by subclasses which can refer to variables.
Returns:
The Ids of the variables to which this data object refers, or AbleData.VarIdNull if the data object is a literal and therefore refers to no variable.

getDataType

public int getDataType()
Retrieve the data type of this data object.
Overrides:
getDataType in class AbleLhs
Returns:
An AbleData.<DataType> constant.

arlCRdString

public java.lang.String arlCRdString()
Return a formal rule language "clause" string that describes this data object.
Overrides:
arlCRdString in class AbleLhs
Returns:
A String describing the data object in formal rule language.

xmlCRdString

public java.lang.String xmlCRdString()
Return a formal XML "read clause" string that describes this data object; for example, "very, very hot".
Overrides:
xmlCRdString in class AbleLhs
Returns:
A String describing the data object in XML.

cmpEq

public boolean cmpEq(AbleRd theRhs)
              throws AbleDataException
Comparison, equal to: compare the current value of this data object to the current value of theRhs.

"==" is used for numeric and boolean compares; equals() is used for Object compares; and equals() is used for String compares.

Overrides:
cmpEq in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is equal to theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

cmpGt

public boolean cmpGt(AbleRd theRhs)
              throws AbleDataException
Comparison, greater than: compare the current value of this data object to the current value of theRhs.

">" is used for numeric compares; Collator.compare() is used for String compares. Use of other data types on the left-hand side causes an exception.

Overrides:
cmpGt in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is greater than theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

cmpGtEq

public boolean cmpGtEq(AbleRd theRhs)
                throws AbleDataException
Comparison, greater than or equal to: compare the current value of this data object to the current value of theRhs.

">=" is used for numeric compares; Collator.compare() is used for String compares. Use of other data types on the left-hand side causes an exception.

Overrides:
cmpGtEq in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is greater than or equal to theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

cmpLt

public boolean cmpLt(AbleRd theRhs)
              throws AbleDataException
Comparison, less than: compare the current value of this data object to the current value of theRhs.

"<" is used for numeric compares; Collator.compare() is used for String compares. Use of other data types on the left-hand side causes an exception.

Overrides:
cmpLt in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is less than theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

cmpLtEq

public boolean cmpLtEq(AbleRd theRhs)
                throws AbleDataException
Comparison, less than or equal to: compare the current value of this data object to the current value of theRhs.

"<=" is used for numeric compares; Collator.compare() is used for String compares. Use of other data types on the left-hand side causes an exception.

Overrides:
cmpLtEq in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is less than or equal to theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

cmpNeq

public boolean cmpNeq(AbleRd theRhs)
               throws AbleDataException
Comparison, not equal to: compare the current value of this data object to the current value of theRhs.

"!=" is used for numeric and boolean compares; ! equals() is used for Object compares; and ! Collator.equals() is used for String compares.

Overrides:
cmpNeq in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
true, if this data object is not equal to theRhs; false, otherwise.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

compPlus

public AbleLiteral compPlus(AbleRd theRhs)
                     throws AbleDataException
Compute, add or concatenate the current value of this data object to the current value of theRhs.

"+" is used for numeric addtion and String concatenation.

Overrides:
compPlus in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the addition or concatenation operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

compMinus

public AbleLiteral compMinus(AbleRd theRhs)
                      throws AbleDataException
Compute, subtract the current value of theRhs from the current value of this object.

"-" is used for numeric subtraction.

Overrides:
compMinus in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the subtraction operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

compMultiply

public AbleLiteral compMultiply(AbleRd theRhs)
                         throws AbleDataException
Compute, multiply the current value of this data object to the current value of theRhs.

"*" is used for numeric multiplication.

Overrides:
compMultiply in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the multiplication operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

compDivide

public AbleLiteral compDivide(AbleRd theRhs)
                       throws AbleDataException
Compute, divide the current value of this data object by the current value of theRhs.

"/" is used for numeric division.

Overrides:
compDivide in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the division operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

compModulo

public AbleLiteral compModulo(AbleRd theRhs)
                       throws AbleDataException
Compute, modulo - divide (without remainder) the current int value of this data object by the current value of theRhs.

"%" is used for integer division without remainder.

Overrides:
compModulo in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the division operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

logicalAND

public boolean logicalAND(AbleRd theRhs)
                   throws AbleDataException
Logical AND the current value of this data object with the current value of theRhs.

"&&" is used for boolean AND.

Overrides:
logicalAND in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the logical AND operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

logicalOR

public boolean logicalOR(AbleRd theRhs)
                  throws AbleDataException
Logical OR the current value of this data object with the current value of theRhs.

"||" is used for boolean OR.

Overrides:
logicalOR in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the logical OR operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

logicalNOT

public boolean logicalNOT(AbleRd theRhs)
                   throws AbleDataException
Logical NOT: complement the current value of this data object.

"!" is used for boolean NOT.

Overrides:
logicalNOT in class AbleLhs
Parameters:
theRhs - The right-hand side of the comparison.

Returns:
The result of the boolean NOT operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseAND

public AbleLiteral bitwiseAND(AbleRd theRhs)
                       throws AbleDataException
Bitwise AND the current value of this data object with the current value of theRhs.

"&" is used for bitwise AND.

Overrides:
bitwiseAND in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise AND operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseOR

public AbleLiteral bitwiseOR(AbleRd theRhs)
                      throws AbleDataException
Bitwise OR the current value of this data object with the current value of theRhs.

"|" is used for bitwise OR.

Overrides:
bitwiseOR in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise OR operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseXOR

public AbleLiteral bitwiseXOR(AbleRd theRhs)
                       throws AbleDataException
Bitwise XOR: exclusive OR the current value of this data object with the current value of theRhs.

"^" is used for bitwise XOR.

Overrides:
bitwiseXOR in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise XOR operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseNOT

public AbleLiteral bitwiseNOT(AbleRd theRhs)
                       throws AbleDataException
Bitwise NOT: unary complement of the current value of this data object.

"~" is used for bitwise NOT or complement.

Overrides:
bitwiseNOT in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise NOT operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseShiftLeft

public AbleLiteral bitwiseShiftLeft(AbleRd theRhs)
                             throws AbleDataException
Bitwise Shift Left the current value of this data object by the current value of theRhs.

"&&" is used for boolean AND.

Overrides:
bitwiseShiftLeft in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise shift left operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseShiftRight

public AbleLiteral bitwiseShiftRight(AbleRd theRhs)
                              throws AbleDataException
Bitwise Shift Right the current value of this data object by the current value of theRhs.

">>" is used for bitwise shift right.

Overrides:
bitwiseShiftRight in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise shift right operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

bitwiseShiftRightZeroFill

public AbleLiteral bitwiseShiftRightZeroFill(AbleRd theRhs)
                                      throws AbleDataException
Bitwise Shift Right with Zero Fill the current value of this data object by the current value of theRhs.

">>" is used for bitwise shift right with zero fill.

Overrides:
bitwiseShiftRightZeroFill in class AbleLhs
Parameters:
theRhs - The right-hand side of the operation.

Returns:
The result of the bitwise shift right with zero fill operation.
Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and compared to this data object.

setBooleanValue

public void setBooleanValue(boolean theNewValue)
                     throws AbleDataException
Set the value of this data object from a boolean value.
Overrides:
setBooleanValue in class AbleLhs
Parameters:
theNewValue - A boolean value.

Throws:
AbleDataException - If the value of this object cannot be represented as a boolean value.

setFuzzyValue

public void setFuzzyValue(AbleFuzzySet theNewValue)
                   throws AbleDataException
Set the value of this data object from a fuzzy value.
Overrides:
setFuzzyValue in class AbleLhs
Parameters:
theNewValue - A fuzzy set.

Throws:
AbleDataException - If the value of this object cannot be represented as a fuzzy value.

setGenericValue

public void setGenericValue(java.lang.Object theNewValue)
                     throws AbleDataException
Set the value of this data object from an object.
Overrides:
setGenericValue in class AbleLhs
Parameters:
theNewValue - Any type of Object.

Throws:
AbleDataException - If the value of this object cannot be derived from the specified Object.

setNumericValue

public void setNumericValue(double theNewValue)
                     throws AbleDataException
Set the value of this data object from a numeric value.
Overrides:
setNumericValue in class AbleLhs
Parameters:
theNewValue - Any number.

Throws:
AbleDataException - If the value of this object cannot be represented as a numeric value.

setStringValue

public void setStringValue(java.lang.String theNewValue)
                    throws AbleDataException
Set the value of this data object from a string value.
Overrides:
setStringValue in class AbleLhs
Parameters:
theNewValue - A string.

Throws:
AbleDataException - If the value of this object cannot be represented as a string value.

setValue

public void setValue(AbleLiteral theNewValue)
              throws AbleDataException
Set the value of this data object from a literal object.
Overrides:
setValue in class AbleLhs
Parameters:
theNewValue - An Able literal of any type. An attempt is made to convert the literal to an appropriate type before assigning it to this "writable" object.

Throws:
AbleDataException - If the value of this object cannot be determined from the literal object.

arlDclString

public java.lang.String arlDclString()
Return a formal rule language "declaration" string that describes this data object.

This implementation always returns the empty string since fields and field references aren't explicitly declared anywhere.

Overrides:
arlDclString in class AbleLhs
Returns:
A String describing the data object in formal rule language.

xmlDclString

public java.lang.String xmlDclString()
Return a formal XML "declaration" string that describes this data object.

This implementation always returns the empty string since fields and field references aren't explicitly declared anywhere.

Overrides:
xmlDclString in class AbleLhs
Returns:
A String describing the data object in XML.

xmlCWrString

public java.lang.String xmlCWrString()
Return a formal XML "clause write" string that describes this data object.
Overrides:
xmlCWrString in class AbleLhs
Returns:
A String describing the data object in XML.

getTemplateString

public java.lang.String getTemplateString(java.util.Vector theTemplateVars)
Return a formatted ARL text string for use by templates

asgnEq

public void asgnEq(AbleRd theRhs)
            throws AbleDataException
Assignment (boolean): assign the current value of theRhs to this data object.
Overrides:
asgnEq in class AbleLhs
Parameters:
theRhs - The right-hand, or source, side of the assignment.

Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and assigned to this data object.

asgnIs

public void asgnIs(AbleRd theRhs)
            throws AbleDataException
Assignment (fuzzy): assign the current value of theRhs to this data object.
Overrides:
asgnIs in class AbleLhs
Parameters:
theRhs - The right-hand, or source, side of the assignment. This must be a fuzzy set.

Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and assigned to this data object.

asgnIs

public void asgnIs(AbleRd theRhs,
                   double theTruthValue)
            throws AbleDataException
Assignment (fuzzy): assign the current value of theRhs to this data object, correlated with the specified truth value.
Overrides:
asgnIs in class AbleLhs
Parameters:
theRhs - The right-hand, or source, side of the assignment. This must be a fuzzy set.

theTruthValue - the truth value with which theRhs is correlated.

Throws:
AbleDataException - If the right-hand side cannot be converted (if necessary) and assigned to this data object.

isWritable

public boolean isWritable()
Returns true if the field is directly writable or if a method exists that can be used to set the value of the field.

isReadable

public boolean isReadable()
Returns true if the field is directly readable or if a method exists that can be used to get the value of the field.

getVariable

public AbleTypedVariable getVariable()

getFieldName

public java.lang.String getFieldName()

getDataTypeClass

public java.lang.Class getDataTypeClass()
Retrieve the Class of the underlying Field
Overrides:
getDataTypeClass in class AbleLhs
Following copied from class: com.ibm.able.data.AbleLhs
Returns:
The class of the underlying data type.

getDataTypeClassName

public java.lang.String getDataTypeClassName()
Retrieve the Class name of the underlying Field
Overrides:
getDataTypeClassName in class AbleLhs
Following copied from class: com.ibm.able.data.AbleLhs
Returns:
A String that is the name of the class of the underlying data type.

getTypedVariable

public AbleTypedVariable getTypedVariable()
Retrieve the typed variable

getTypedVariableClass

public java.lang.Class getTypedVariableClass()
Retrieve the Class of the underlying typed variable

setField

public void setField(java.lang.reflect.Field theField)
Used by AbleRuleSet during deserialization.

setGetMethod

public void setGetMethod(java.lang.reflect.Method theGetMethod)
Used by AbleRuleSet during deserialization.

setSetMethod

public void setSetMethod(java.lang.reflect.Method theSetMethod)
Used by AbleRuleSet during deserialization.

equals

public boolean equals(java.lang.Object otherObject)
Overrides:
equals in class java.lang.Object

toString

public java.lang.String toString()
Retrieve a string describing (the contents of) the object.
Overrides:
toString in class java.lang.Object
Returns:
A String containing the current contents of the object.

traceString

public java.lang.String traceString(int theTraceStringFlavor)
Retrieve a string describing (the contents of) the object.
Overrides:
traceString in class AbleLhs
Parameters:
theFlavor - An Able.TraceStringFlavor value.

Returns:
A String containing the current contents of the object.

Copyright

public static java.lang.String Copyright()
Determine the copyright of this class.
Returns:
A String containing this class's copyright statement.

ABLE 2.0.0 07/02/2003 10:25:01

(C) Copyright IBM Corporation 1999, 2003