Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.ibm.able.data
Class AbleTypedVariableField

    java.lang.Object
      com.ibm.able.data.AbleLhs
          com.ibm.able.data.AbleTypedVariableField

All Implemented Interfaces:
  AbleClearable, AbleRd, AbleWr, java.io.Serializable

Direct Known Subclasses:
  AbleTypedVariableStringField

public class AbleTypedVariableField
extends AbleLhs
implements AbleClearable, 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.
`AbleTypedVariableField(AbleTypedVariable theTypedVariable, java.lang.String theFieldName)` 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.
`void` | `clear()`
`static void` | `clear(java.util.Iterator fields)`
`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.
`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()`
`protected java.lang.Object` | `getFieldValue()`
`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()`
`int` | `hashCode()`
`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, 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

### AbleTypedVariableField

    public AbleTypedVariableField(AbleTypedVariable theTypedVariable,
                                  java.lang.String theFieldName)
                           throws AbleParException

  Create a new variable field reference object.

Parameters:
  `theTypedVariable` - A typed variable that contains the following field.

  `theFieldName` - A specific field within the above typed variable.

Method Detail

### getBooleanValue

    public boolean getBooleanValue()
                            throws AbleDataException

  Retrieve the value of this data object as a boolean value.

  Specified by:
    `getBooleanValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getFuzzyValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getGenericValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getNumericValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getStringValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getValue` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getReferent` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `getReferents` in interface `AbleRd`
  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.

  Specified by:
    `getDataType` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `arlCRdString` in interface `AbleRd`
  Specified by:
    `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".

  Specified by:
    `xmlCRdString` in interface `AbleRd`
  Specified by:
    `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.

  Specified by:
    `cmpEq` in interface `AbleRd`
  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.

  Specified by:
    `cmpGt` in interface `AbleRd`
  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.

  Specified by:
    `cmpGtEq` in interface `AbleRd`
  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.

  Specified by:
    `cmpLt` in interface `AbleRd`
  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.

  Specified by:
    `cmpLtEq` in interface `AbleRd`
  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.

  Specified by:
    `cmpNeq` in interface `AbleRd`
  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.

  Specified by:
    `compPlus` in interface `AbleRd`
  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.

  Specified by:
    `compMinus` in interface `AbleRd`
  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.

  Specified by:
    `compMultiply` in interface `AbleRd`
  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.

  Specified by:
    `compDivide` in interface `AbleRd`
  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.

  Specified by:
    `compModulo` in interface `AbleRd`
  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.

  Specified by:
    `logicalAND` in interface `AbleRd`
  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.

  Specified by:
    `logicalOR` in interface `AbleRd`
  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.

  Specified by:
    `logicalNOT` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseAND` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseOR` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseXOR` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseNOT` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseShiftLeft` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseShiftRight` in interface `AbleRd`
  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.

  Specified by:
    `bitwiseShiftRightZeroFill` in interface `AbleRd`
  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.

  Specified by:
    `setBooleanValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `setFuzzyValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `setGenericValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `setNumericValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `setStringValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `setValue` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `arlDclString` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `xmlDclString` in interface `AbleWr`
  Specified by:
    `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.

  Specified by:
    `xmlCWrString` in interface `AbleWr`
  Specified by:
    `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

  Specified by:
    `getTemplateString` in interface `AbleRd`

### asgnEq

    public void asgnEq(AbleRd theRhs)
                throws AbleDataException

  Assignment (boolean): assign the current value of theRhs to this data object.

  Specified by:
    `asgnEq` in interface `AbleWr`
  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.

  Specified by:
    `asgnIs` in interface `AbleWr`
  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.

  Specified by:
    `asgnIs` in interface `AbleWr`
  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

  Specified by:
    `getDataTypeClass` in interface `AbleRd`
  Specified by:
    `getDataTypeClass` in class `AbleLhs`
  Returns:
    The class of the underlying data type.

### getDataTypeClassName

    public java.lang.String getDataTypeClassName()

  Retrieve the Class name of the underlying Field

  Specified by:
    `getDataTypeClassName` in interface `AbleRd`
  Specified by:
    `getDataTypeClassName` in class `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.

### getFieldValue

    protected java.lang.Object getFieldValue()
                                      throws AbleDataException

  Throws:
    `AbleDataException`

### equals

    public boolean equals(java.lang.Object otherObject)

### hashCode

    public int hashCode()

### toString

    public java.lang.String toString()

  Retrieve a string describing (the contents of) the 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.

  Specified by:
    `traceString` in interface `AbleRd`
  Specified by:
    `traceString` in class `AbleLhs`
  Parameters:
    `theTraceStringFlavor` - An Able.TraceStringFlavor value.

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

### clear

    public static void clear(java.util.Iterator fields)

  Parameters:
    `fields` -

### clear

    public void clear()

  Specified by:
    `clear` in interface `AbleClearable`

Overview | Package | Class | Use | Tree | Serialized | Deprecated | Index | Help
| ABLE 2.3.0 07/13/2005 14:21:00
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

(C) Copyright IBM Corporation 1999, 2005