Class XNumber

All Implemented Interfaces:
Serializable, Cloneable, 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:
  • Constructor Details

    • XNumber

      public XNumber(double d)
      Construct a XNodeSet object.
      Parameters:
      d - Value of the object
    • XNumber

      public XNumber(Number num)
      Construct a XNodeSet object.
      Parameters:
      num - Value of the object
  • Method Details

    • getType

      public int getType()
      Tell that this is a CLASS_NUMBER.
      Overrides:
      getType in class XObject
      Returns:
      node type CLASS_NUMBER
    • getTypeString

      public 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 TransformerException
      Evaluate expression to a number.
      Overrides:
      num in class Expression
      Parameters:
      xctxt - The XPath runtime context.
      Returns:
      0.0
      Throws:
      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 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 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:
      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.
    • callVisitors

      public void callVisitors(ExpressionOwner owner, XPathVisitor visitor)
      Description copied from interface: XPathVisitable
      This will traverse the heararchy, calling the visitor for each member. If the called visitor method returns false, the subtree should not be called.
      Specified by:
      callVisitors in interface XPathVisitable
      Overrides:
      callVisitors in class XObject
      Parameters:
      owner - The owner of the visitor, where that path may be rewritten if needed.
      visitor - The visitor whose appropriate method will be called.
      See Also: