Class XNumber

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Cloneable, javax.xml.transform.SourceLocator, ExpressionNode, XPathVisitable

    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
    • 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.
        Overrides:
        getType in class XObject
        Returns:
        node type CLASS_NUMBER
      • getTypeString

        public java.lang.String getTypeString()
        Given a request type, return the equivalent string. For diagnostic purposes.
        Overrides:
        getTypeString in class XObject
        Returns:
        type string "#NUMBER"
      • num

        public double num()
        Cast result object to a number.
        Overrides:
        num in class XObject
        Returns:
        the value of the XNumber object
      • num

        public double num​(XPathContext xctxt)
                   throws javax.xml.transform.TransformerException
        Evaluate expression to a number.
        Overrides:
        num in class Expression
        Parameters:
        xctxt - The XPath runtime context.
        Returns:
        0.0
        Throws:
        javax.xml.transform.TransformerException
      • bool

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

        public java.lang.String str()
        Cast result object to a string.
        Overrides:
        str in class XObject
        Returns:
        "NaN" if the number is NaN, Infinity or -Infinity if the number is infinite or the string value of the number.
      • object

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

        public boolean equals​(XObject obj2)
        Tell if two objects are functionally equal.
        Overrides:
        equals in class XObject
        Parameters:
        obj2 - Object to compare this to
        Returns:
        true if the two objects are equal
        Throws:
        javax.xml.transform.TransformerException
      • 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.
        Overrides:
        isStableNumber in class Expression
        Returns:
        true if the expression represents a stable number.