Class NodeSet

  • All Implemented Interfaces:
    java.io.Serializable

    public final class NodeSet
    extends XPathResult
    Represents a node-set. A node-set is used as the result of an XPath expression, and during the expression to keep track of nodes being evaluated. As such, it is a mutable object. Care must be taken, as a node-set is not thread-safe and must not be used by two XPath expressions evaluating concurrently.
    Version:
    $Revision: 3739 $ $Date: 2003-05-13 10:01:12 +0200 (Tue, 13 May 2003) $
    Author:
    Keith Visco, Assaf Arkin
    See Also:
    Serialized Form
    • Constructor Summary

      Constructors 
      Constructor Description
      NodeSet()
      Constructs a new empty node-set.
      NodeSet​(int size)
      Constructs a new empty node-set with the specified size.
      NodeSet​(XPathNode node)
      Constructs a new node-set with the specified node.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void add​(NodeSet nodeSet)
      Adds all nodes from the specified node-set to this node-set without duplication.
      void add​(NodeSet nodeSet, boolean ignoreDuplicates)
      Adds all nodes from the specified node-set to this node-set.
      boolean add​(XPathNode node)
      Adds the specified node to this node-set without duplication.
      boolean add​(XPathNode node, boolean ignoreDuplicates)
      Adds the specified node to this node-set.
      boolean booleanValue()
      Returns the result as a boolean value.
      void clear()
      Removes all elements from this node-set.
      boolean contains​(XPathNode node)
      Returns true if the specified node is contained in this node-set.
      boolean equals​(XPathResult result)
      Returns true if the given result is a node-set result and has the same set of nodes.
      int getResultType()
      Returns the type of this result.
      int indexOf​(XPathNode node)
      Returns the position of the specified node in this node-set.
      XPathNode item​(int index)
      Returns the node at the specified index.
      java.lang.Object javaObject()
      Returns the result as a Java object.
      double numberValue()
      Returns the result as a number value.
      void remove​(int index)
      Removes the specified node from the node-set.
      boolean remove​(XPathNode node)
      Removes the specified node from the node-set.
      int size()
      Returns the number of nodes in the node-set.
      java.lang.String stringValue()
      Returns the result as a string value.
      XPathNode[] toArray()
      Returns an array containing all the nodes in this node-set.
      java.lang.String toString()
      Returns the string representation of this NodeSet.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • NodeSet

        public NodeSet()
        Constructs a new empty node-set.
      • NodeSet

        public NodeSet​(XPathNode node)
        Constructs a new node-set with the specified node.
        Parameters:
        node - The node to include in the node-set
      • NodeSet

        public NodeSet​(int size)
        Constructs a new empty node-set with the specified size. This constructor is used if the node-set is known to hold only the specified number of nodes.
        Parameters:
        size - The expected node-set size
    • Method Detail

      • booleanValue

        public boolean booleanValue()
        Returns the result as a boolean value. Returns true if the node-set is not empty.
        Specified by:
        booleanValue in class XPathResult
        Returns:
        The result as a boolean value
      • numberValue

        public double numberValue()
        Returns the result as a number value. Returns the number value of the node's string value, or Double.NaN if the node-set is empty.
        Specified by:
        numberValue in class XPathResult
        Returns:
        The result as a number value
      • stringValue

        public java.lang.String stringValue()
        Returns the result as a string value. Returns the string value of the node that is first in document order, or the empty string if the node-set is empty.

        Note: currently returns the string value of the first node in the node-set.

        Specified by:
        stringValue in class XPathResult
        Returns:
        The result as a string value
      • javaObject

        public java.lang.Object javaObject()
        Returns the result as a Java object. Returns an object of type NodeSet representing this node-set.
        Specified by:
        javaObject in class XPathResult
        Returns:
        The result as a Java object
      • equals

        public boolean equals​(XPathResult result)
        Returns true if the given result is a node-set result and has the same set of nodes.
        Specified by:
        equals in class XPathResult
        Parameters:
        result - An XPath result
        Returns:
        True if a node-set result and has same set of nodes
      • size

        public int size()
        Returns the number of nodes in the node-set.
        Returns:
        The number of nodes in the node-set
      • add

        public boolean add​(XPathNode node)
        Adds the specified node to this node-set without duplication.
        Parameters:
        node - The node to add to this node-set
        Returns:
        True if the node was added, false if the node was already in this node-set
      • add

        public boolean add​(XPathNode node,
                           boolean ignoreDuplicates)
        Adds the specified node to this node-set. This method allows control over whether or not to perform duplicate checking.
        Parameters:
        node - The node to add to this node-set
        ignoreDuplicates - If true, do not perform duplicate checking
        Returns:
        True if the node was added, false if the node was already in this node-set
      • add

        public void add​(NodeSet nodeSet)
        Adds all nodes from the specified node-set to this node-set without duplication.
        Parameters:
        nodeSet - The node-set from which to add nodes
      • add

        public void add​(NodeSet nodeSet,
                        boolean ignoreDuplicates)
        Adds all nodes from the specified node-set to this node-set. This method allows control over whether or not to perform duplicate checking.
        Parameters:
        nodeSet - The node-set from which to add nodes
        ignoreDuplicates - If true, do not perform duplicate checking *
      • contains

        public boolean contains​(XPathNode node)
        Returns true if the specified node is contained in this node-set.
        Parameters:
        node - The specified node to search
        Returns:
        True if the specified node is contained in this node-set
      • item

        public XPathNode item​(int index)
        Returns the node at the specified index. Throws IndexOutOfBoundsException is the index is out of range. The index is as returned by indexOf(org.exolab.adaptx.xpath.XPathNode).
        Parameters:
        index - The position of the node to return
      • indexOf

        public int indexOf​(XPathNode node)
        Returns the position of the specified node in this node-set. Returns -1 i the node is not included in this node-set.

        The node's index is based on the order in which it was added to the node-set, minus any nodes of lower index position that were removed from the node-set. The index ranges between zero and size() - 1 (inclusive).

        Parameters:
        node - the Node to get the index for
      • remove

        public boolean remove​(XPathNode node)
        Removes the specified node from the node-set. Returns true if the node was found and removed, false if the node was not included in this node-set.
        Parameters:
        node - The node to remove from this node-set
        Returns:
        True if the node was removed
      • remove

        public void remove​(int index)
        Removes the specified node from the node-set. The node is identified by position. Throws IndexOutOfBoundsException is the index is out of range. The index is as returned by indexOf(org.exolab.adaptx.xpath.XPathNode).
        Parameters:
        index - The position of the node to remove
      • clear

        public void clear()
        Removes all elements from this node-set.
      • toArray

        public XPathNode[] toArray()
        Returns an array containing all the nodes in this node-set. Returns an empty array if the node-set is empty.
        Returns:
        An array containing all the nodes in this node-set
      • toString

        public java.lang.String toString()
        Returns the string representation of this NodeSet. This will be the concatenation of the string values of all the nodes contained within this NodeSet
        Overrides:
        toString in class java.lang.Object
        Returns:
        the string representation of this NodeSet.