Class XNodeSet

All Implemented Interfaces:
Cloneable, SourceLocator, DTMIterator, PathComponent, ExpressionNode, XPathVisitable

public class XNodeSet extends NodeSequence
This class represents an XPath nodeset object, and is capable of converting the nodeset to other types, such as a string.
  • Constructor Details

    • XNodeSet

      public XNodeSet(DTMIterator val)
      Construct a XNodeSet object.
      Parameters:
      val - Value of the XNodeSet object
    • XNodeSet

      public XNodeSet(DTMManager dtmMgr)
      Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added.
    • XNodeSet

      public XNodeSet(int n, DTMManager dtmMgr)
      Construct a XNodeSet object for one node.
      Parameters:
      n - Node to add to the new XNodeSet object
  • Method Details

    • getType

      public int getType()
      Tell what kind of class this is.
      Overrides:
      getType in class XObject
      Returns:
      CLASS_UNKNOWN
    • getTypeString

      public String getTypeString()
      Given a request type, return the equivalent string. For diagnostic purposes.
      Overrides:
      getTypeString in class XObject
      Returns:
      type string "#UNKNOWN" + object class name
    • getNumberFromNode

      public double getNumberFromNode(int n)
      Get numeric value of the string conversion from a single node.
      Parameters:
      n - Node to convert
      Returns:
      numeric value of the string conversion from a single node.
    • num

      public double num()
      Cast result object to a number. Always issues an error.
      Overrides:
      num in class XObject
      Returns:
      0.0
    • numWithSideEffects

      public double numWithSideEffects()
      Cast result object to a number, but allow side effects, such as the incrementing of an iterator.
      Overrides:
      numWithSideEffects in class XObject
      Returns:
      numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
    • bool

      public boolean bool()
      Cast result object to a boolean. Always issues an error.
      Overrides:
      bool in class XObject
      Returns:
      false
    • boolWithSideEffects

      public boolean boolWithSideEffects()
      Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.
      Overrides:
      boolWithSideEffects in class XObject
      Returns:
      True if there is a next node in the nodeset
    • getStringFromNode

      public XString getStringFromNode(int n)
      Get the string conversion from a single node.
      Parameters:
      n - Node to convert
      Returns:
      the string conversion from a single node.
    • xstr

      public XString xstr()
      Cast result object to a string.
      Overrides:
      xstr in class XObject
      Returns:
      The string this wraps or the empty string if null
    • str

      public String str()
      Cast result object to a string.
      Overrides:
      str in class XObject
      Returns:
      The object as a string
    • 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 object that this class wraps
    • nodeset

      public NodeIterator nodeset() throws TransformerException
      Cast result object to a nodelist. Always issues an error.
      Overrides:
      nodeset in class XObject
      Returns:
      null
      Throws:
      TransformerException - in case of error in case of error
    • nodelist

      public NodeList nodelist() throws TransformerException
      Cast result object to a nodelist. Always issues an error.
      Overrides:
      nodelist in class XObject
      Returns:
      null
      Throws:
      TransformerException - in case of error in case of error
    • iterRaw

      public DTMIterator iterRaw()
      Return the iterator without cloning, etc.
    • iter

      public DTMIterator iter()
      Cast result object to a nodelist. Always issues an error.
      Overrides:
      iter in class XObject
      Returns:
      null
    • mutableNodeset

      public NodeSetDTM mutableNodeset()
      Cast result object to a nodelist. Always issues an error.
      Overrides:
      mutableNodeset in class XObject
      Returns:
      The object as a NodeSetDTM.
    • compare

      public boolean compare(XObject obj2, org.loboevolution.apache.xpath.objects.Comparator comparator) throws TransformerException
      Tell if one object is less than the other.
      Parameters:
      obj2 - Object to compare this nodeset to
      comparator - Comparator to use
      Returns:
      See the comments below for each object type comparison
      Throws:
      TransformerException - in case of error
    • lessThan

      public boolean lessThan(XObject obj2) throws TransformerException
      Tell if one object is less than the other.
      Overrides:
      lessThan in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if this object is less than the given object
      Throws:
      TransformerException - in case of error in case of error
    • lessThanOrEqual

      public boolean lessThanOrEqual(XObject obj2) throws TransformerException
      Tell if one object is less than or equal to the other.
      Overrides:
      lessThanOrEqual in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if this object is less than or equal to the given object
      Throws:
      TransformerException - in case of error
    • greaterThan

      public boolean greaterThan(XObject obj2) throws TransformerException
      Tell if one object is greater than the other.
      Overrides:
      greaterThan in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if this object is greater than the given object
      Throws:
      TransformerException - in case of error
    • greaterThanOrEqual

      public boolean greaterThanOrEqual(XObject obj2) throws TransformerException
      Tell if one object is greater than or equal to the other.
      Overrides:
      greaterThanOrEqual in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if this object is greater than or equal to the given object
      Throws:
      TransformerException - in case of error
    • 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 this object is equal to the given object
    • notEquals

      public boolean notEquals(XObject obj2) throws TransformerException
      Tell if two objects are functionally not equal.
      Overrides:
      notEquals in class XObject
      Parameters:
      obj2 - Object to compare this to
      Returns:
      True if this object is not equal to the given object
      Throws:
      TransformerException - in case of error