## org.apache.xpath.objects
Class XNumber

    java.lang.Object
      |
      +--org.apache.xpath.Expression
            |
            +--org.apache.xpath.objects.XObject
                  |
                  +--org.apache.xpath.objects.XNumber

public class XNumber
extends XObject

This class represents an XPath number, and is capable of converting the number to other types, such as a string.

See Also:
  Serialized Form
Usage:

Fields inherited from class org.apache.xpath.objects.XObject
`CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE`

Constructor Summary
`XNumber(double d)` Construct a XNodeSet object.
`XNumber(java.lang.Number num)` Construct a XNodeSet object.

Method Summary
`boolean` `bool()` Cast result object to a boolean.
`void` `callVisitors(ExpressionOwner owner, XPathVisitor visitor)`
`boolean` `equals(XObject obj2)` Tell if two objects are functionally equal.
`int` `getType()` Tell that this is a CLASS_NUMBER.
`java.lang.String` `getTypeString()` Given a request type, return the equivalent string.
`boolean` `isStableNumber()` Tell if this expression returns a stable number that will not change during iterations within the expression.
`double` `num()` Cast result object to a number.
`double` `num(XPathContext xctxt)` Evaluate expression to a number.
`java.lang.Object` `object()` Return a java object that's closest to the representation that should be handed to an extension.
`java.lang.String` `str()` Cast result object to a string.

Methods inherited from class org.apache.xpath.objects.XObject
`allowDetachToRelease, appendToFsb, boolWithSideEffects, castToType, create, create, deepEquals, destruct, detach, dispatchCharactersEvents, execute, fixupVariables, getFresh, greaterThan, greaterThanOrEqual, iter, lessThan, lessThanOrEqual, mutableNodeset, nodelist, nodeset, notEquals, numWithSideEffects, reset, rtf, rtf, rtree, rtree, toString, xstr`

Methods inherited from class org.apache.xpath.Expression
`asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, warn, xstr`

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

Constructor Detail

### XNumber

    public XNumber(double d)

  Construct a XNodeSet object.
  Parameters:
    `d` - Value of the object

### XNumber

    public XNumber(java.lang.Number num)

  Construct a XNodeSet object.
  Parameters:
    `num` - Value of the object

Method Detail

### getType

    public int getType()

  Tell that this is a CLASS_NUMBER.
  Returns:
    node type CLASS_NUMBER
  Overrides:
    getType in class XObject

### getTypeString

    public java.lang.String getTypeString()

  Given a request type, return the equivalent string. For diagnostic purposes.
  Returns:
    type string "#NUMBER"
  Overrides:
    getTypeString in class XObject

### num

    public double num()

  Cast result object to a number.
  Returns:
    the value of the XNumber object
  Overrides:
    num in class XObject

### num

    public double num(XPathContext xctxt)
               throws TransformerException

  Evaluate expression to a number.
  Returns:
    0.0
  Throws:
    TransformerException -
  Overrides:
    num in class Expression

### bool

    public boolean bool()

  Cast result object to a boolean.
  Returns:
    false if the value is NaN or equal to 0.0
  Overrides:
    bool in class XObject

### str

    public java.lang.String str()

  Cast result object to a string.
  Returns:
    "NaN" if the number is NaN, Infinity or -Infinity if the number is infinite or the string value of the number.
  Overrides:
    str in class XObject

### object

    public java.lang.Object object()

  Return a java object that's closest to the representation that should be handed to an extension.
  Returns:
    The value of this XNumber as a Double object
  Overrides:
    object in class XObject

### equals

    public boolean equals(XObject obj2)

  Tell if two objects are functionally equal.
  Parameters:
    `obj2` - Object to compare this to
  Returns:
    true if the two objects are equal
  Throws:
    TransformerException -
  Overrides:
    equals in class XObject

### isStableNumber

    public boolean isStableNumber()

  Tell if this expression returns a stable number that will not change during iterations within the expression. This is used to determine if a proximity position predicate can indicate that no more searching has to occur.
  Returns:
    true if the expression represents a stable number.
  Overrides:
    isStableNumber in class Expression

### callVisitors

    public void callVisitors(ExpressionOwner owner,
                             XPathVisitor visitor)

  Overrides:
    callVisitors in class XObject
  See Also:
    `XPathVisitable.callVisitors(ExpressionOwner, XPathVisitor)`

Copyright © 2006 Apache XML Project. All Rights Reserved.