Package org.exolab.adaptx.xpath
Class NodeSet
- java.lang.Object
-
- org.exolab.adaptx.xpath.XPathResult
-
- org.exolab.adaptx.xpath.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
-
-
Field Summary
-
Fields inherited from class org.exolab.adaptx.xpath.XPathResult
BOOLEAN, NODE_SET, NUMBER, STRING, USER_DEFINED
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(NodeSet nodeSet)Adds all nodes from the specified node-set to this node-set without duplication.voidadd(NodeSet nodeSet, boolean ignoreDuplicates)Adds all nodes from the specified node-set to this node-set.booleanadd(XPathNode node)Adds the specified node to this node-set without duplication.booleanadd(XPathNode node, boolean ignoreDuplicates)Adds the specified node to this node-set.booleanbooleanValue()Returns the result as a boolean value.voidclear()Removes all elements from this node-set.booleancontains(XPathNode node)Returns true if the specified node is contained in this node-set.booleanequals(XPathResult result)Returns true if the given result is a node-set result and has the same set of nodes.intgetResultType()Returns the type of this result.intindexOf(XPathNode node)Returns the position of the specified node in this node-set.XPathNodeitem(int index)Returns the node at the specified index.java.lang.ObjectjavaObject()Returns the result as a Java object.doublenumberValue()Returns the result as a number value.voidremove(int index)Removes the specified node from the node-set.booleanremove(XPathNode node)Removes the specified node from the node-set.intsize()Returns the number of nodes in the node-set.java.lang.StringstringValue()Returns the result as a string value.XPathNode[]toArray()Returns an array containing all the nodes in this node-set.java.lang.StringtoString()Returns the string representation of this NodeSet.
-
-
-
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
-
getResultType
public int getResultType()
Returns the type of this result.- Specified by:
getResultTypein classXPathResult- Returns:
XPathResult.NODE_SET
-
booleanValue
public boolean booleanValue()
Returns the result as a boolean value. Returns true if the node-set is not empty.- Specified by:
booleanValuein classXPathResult- 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, orDouble.NaNif the node-set is empty.- Specified by:
numberValuein classXPathResult- 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:
stringValuein classXPathResult- Returns:
- The result as a string value
-
javaObject
public java.lang.Object javaObject()
Returns the result as a Java object. Returns an object of typeNodeSetrepresenting this node-set.- Specified by:
javaObjectin classXPathResult- 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:
equalsin classXPathResult- 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-setignoreDuplicates- 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 nodesignoreDuplicates- 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. ThrowsIndexOutOfBoundsExceptionis the index is out of range. The index is as returned byindexOf(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. ThrowsIndexOutOfBoundsExceptionis the index is out of range. The index is as returned byindexOf(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:
toStringin classjava.lang.Object- Returns:
- the string representation of this NodeSet.
-
-