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 AbleArrayLengthLiteral

    java.lang.Object
      com.ibm.able.data.AbleLiteral
          com.ibm.able.data.AbleArrayLengthLiteral

All Implemented Interfaces:
  AbleRd, java.io.Serializable

public class AbleArrayLengthLiteral
extends AbleLiteral
implements java.io.Serializable

This class is used to represent expressions in ABLE Rule Language where the length field of an array variable is referenced. This is a special case because Java does not treat Arrays as either a primitive type or as a normal Object. So, when a user codes myArray.length in an ABLE Rule Language ruleset, that is compiled into one of these objects, with a reference to the array variable. At run time, the getValue() will return the length of the associated array variable.

See Also:
  `AbleArrayVariable`, Serialized Form

Field Summary
`protected AbleArrayVariable` | `myArrayVariable` The array variable to which this field belongs.

Constructor Summary
`AbleArrayLengthLiteral(AbleArrayVariable theArrayVariable)` Create a new literal over the specified array variable.

Method Summary
`java.lang.String` | `arlCRdString()` Return a formal ARL "clause read" string that describes this data object.
`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: complement 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` | `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.
`AbleLiteral` | `compUnaryMinus(AbleRd theRhs)` Compute, the unary minus of the current value of this object.
`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 actual class of this object's underlying data type.
`java.lang.String` | `getDataTypeClassName()` Retrieve the name of the class of this object's underlying data type.
`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.
`java.lang.String` | `getStringValue()` Retrieve the value of this data object as a string value.
`AbleLiteral` | `getValue()` Retrieve the value of this data object as a literal.
`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 "clause read" string that describes this data object.

Methods inherited from class com.ibm.able.data.AbleLiteral
`cmpEq, cmpIs, getDataTypeAsString, getReferent, getReferents, getTemplateString, isConstant, logicalAND, logicalNOT, logicalOR`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Field Detail

### myArrayVariable

    protected AbleArrayVariable myArrayVariable

  The array variable to which this field belongs.

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

Constructor Detail

### AbleArrayLengthLiteral

    public AbleArrayLengthLiteral(AbleArrayVariable theArrayVariable)

  Create a new literal over the specified array variable.

Parameters:
  `theArrayVariable` - An array variable that contains the "length" field.

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 `AbleLiteral`
  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 `AbleLiteral`
  Returns:
    A fuzzy set, if the value of this object can be represented as a fuzzy value. This method always throws an exception.
  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 `AbleLiteral`
  Returns:
    Any type of Object. Note that null is a valid value.
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  Returns:
    An AbleGenericLiteral object.
  Throws:
    `AbleDataException` - If the value of this object cannot be represented as a literal.

### getDataTypeClass

    public java.lang.Class getDataTypeClass()

  Description copied from class: `AbleLiteral`
  Retrieve the actual class of this object's underlying data type.

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

### getDataTypeClassName

    public java.lang.String getDataTypeClassName()

  Description copied from class: `AbleLiteral`
  Retrieve the name of the class of this object's underlying data type.

  Specified by:
    `getDataTypeClassName` in interface `AbleRd`
  Specified by:
    `getDataTypeClassName` in class `AbleLiteral`
  Returns:
    A String that is the name of the class of the underlying data type.

### arlCRdString

    public java.lang.String arlCRdString()

  Return a formal ARL "clause read" string that describes this data object.

  Specified by:
    `arlCRdString` in interface `AbleRd`
  Specified by:
    `arlCRdString` in class `AbleLiteral`
  Returns:
    A String describing the data object in formal rule language.

### xmlCRdString

    public java.lang.String xmlCRdString()

  Return a formal XML "clause read" string that describes this data object.

  Specified by:
    `xmlCRdString` in interface `AbleRd`
  Specified by:
    `xmlCRdString` in class `AbleLiteral`
  Returns:
    A String describing the data object in XML.

### 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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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.

### compUnaryMinus

    public AbleLiteral compUnaryMinus(AbleRd theRhs)
                               throws AbleDataException

  Compute, the unary minus of the current value of this object.

  "-" is used for numeric negation.

  Specified by:
    `compUnaryMinus` in interface `AbleRd`
  Overrides:
    `compUnaryMinus` in class `AbleLiteral`
  Parameters:
    `theRhs` - The right-hand side of the operation (ignored).

  Returns:
    The result of the negation operation.
  Throws:
    `AbleDataException` - If the value of this data object cannot be negated.

### 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 `AbleLiteral`
  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.

### 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 `AbleLiteral`
  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 `AbleLiteral`
  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 `AbleLiteral`
  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: complement the current value of this data object.

  "~" is used for bitwise NOT or complement.

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

### toString

    public java.lang.String toString()

  Retrieve a string describing (the contents of) the object.

  Overrides:
    `toString` in class `AbleLiteral`
  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 `AbleLiteral`
  Parameters:
    `theTraceStringFlavor` - An Able.TraceStringFlavor value.

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

### getDataType

    public int getDataType()

  Description copied from class: `AbleLiteral`
  Retrieve the data type of this data object.

  Specified by:
    `getDataType` in interface `AbleRd`
  Specified by:
    `getDataType` in class `AbleLiteral`
  Returns:
    An AbleData.<DataType> constant.
  See Also:
    `AbleRd.getDataType()`

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