## org.apache.xpath.objects
Class XNodeSet

    java.lang.Object
      |
      +--org.apache.xpath.Expression
            |
            +--org.apache.xpath.objects.XObject
                  |
                  +--org.apache.xpath.axes.NodeSequence
                        |
                        +--org.apache.xpath.objects.XNodeSet

Direct Known Subclasses:
  XNodeSetForDOM, XNull

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.

See Also:
  Serialized Form
Usage:

Fields inherited from class org.apache.xpath.objects.XObject
`CLASS_BOOLEAN, CLASS_NODESET, CLASS_NULL, CLASS_NUMBER, CLASS_RTREEFRAG, CLASS_STRING, CLASS_UNKNOWN, CLASS_UNRESOLVEDVARIABLE`

Constructor Summary
`XNodeSet(DTMIterator val)` Construct a XNodeSet object.
`XNodeSet(DTMManager dtmMgr)` Construct an empty XNodeSet object.
`XNodeSet(int n, DTMManager dtmMgr)` Construct a XNodeSet object for one node.
`XNodeSet(XNodeSet val)` Construct a XNodeSet object.

Method Summary
`void` `appendToFsb(FastStringBuffer fsb)` Cast result object to a string.
`boolean` `bool()` Cast result object to a boolean.
`boolean` `boolWithSideEffects()` Cast result object to a boolean, but allow side effects, such as the incrementing of an iterator.
`boolean` `compare(XObject obj2, org.apache.xpath.objects.Comparator comparator)` Tell if one object is less than the other.
`void` `dispatchCharactersEvents(ContentHandler ch)` Directly call the characters method on the passed ContentHandler for the string-value.
`boolean` `equals(XObject obj2)` Tell if two objects are functionally equal.
`XObject` `getFresh()` Get a fresh copy of the object.
`double` `getNumberFromNode(int n)` Get numeric value of the string conversion from a single node.
`XMLString` `getStringFromNode(int n)` Get the string conversion from a single node.
`int` `getType()` Tell that this is a CLASS_NODESET.
`java.lang.String` `getTypeString()` Given a request type, return the equivalent string.
`boolean` `greaterThan(XObject obj2)` Tell if one object is less than the other.
`boolean` `greaterThanOrEqual(XObject obj2)` Tell if one object is less than the other.
`DTMIterator` `iter()` Cast result object to a nodelist.
`DTMIterator` `iterRaw()` Return the iterator without cloning, etc.
`boolean` `lessThan(XObject obj2)` Tell if one object is less than the other.
`boolean` `lessThanOrEqual(XObject obj2)` Tell if one object is less than or equal to the other.
`NodeSetDTM` `mutableNodeset()` Cast result object to a mutableNodeset.
`NodeList` `nodelist()` Cast result object to a nodelist.
`NodeIterator` `nodeset()` Cast result object to a nodelist.
`boolean` `notEquals(XObject obj2)` Tell if two objects are functionally not equal.
`double` `num()` Cast result object to a number.
`double` `numWithSideEffects()` Cast result object to a number, but allow side effects, such as the incrementing of an iterator.
`java.lang.Object` `object()` Return a java object that's closest to the representation that should be handed to an extension.
`void` `release(DTMIterator iter)`
`java.lang.String` `str()` Cast result object to a string.
`XMLString` `xstr()` Cast result object to an XMLString.

Methods inherited from class org.apache.xpath.axes.NodeSequence
`allowDetachToRelease, clone, cloneWithReset, detach, fixupVariables, getAnalysisBits, getAxis, getContainedIter, getCurrentNode, getCurrentPos, getDTM, getDTMManager, getExpandEntityReferences, getLength, getRoot, getWhatToShow, hasCache, isDocOrdered, isFresh, isMutable, item, nextNode, previousNode, reset, runTo, setCurrentPos, setItem, setIter, setRoot, setShouldCacheNodes`

Methods inherited from class org.apache.xpath.objects.XObject
`callVisitors, castToType, create, create, deepEquals, destruct, execute, rtf, rtf, rtree, rtree, toString`

Methods inherited from class org.apache.xpath.Expression
`asIterator, asIteratorRaw, asNode, assertion, bool, canTraverseOutsideSubtree, error, execute, execute, execute, executeCharsToContentHandler, exprAddChild, exprGetChild, exprGetNumChildren, exprGetParent, exprSetParent, getColumnNumber, getExpressionOwner, getLineNumber, getPublicId, getSystemId, isNodesetExpr, isStableNumber, num, warn, xstr`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### XNodeSet

    public XNodeSet(DTMIterator val)

  Construct a XNodeSet object.
  Parameters:
    `val` - Value of the XNodeSet object

### XNodeSet

    public XNodeSet(XNodeSet 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 Detail

### getType

    public int getType()

  Tell that this is a CLASS_NODESET.
  Returns:
    type CLASS_NODESET
  Overrides:
    getType in class XObject

### getTypeString

    public java.lang.String getTypeString()

  Given a request type, return the equivalent string. For diagnostic purposes.
  Returns:
    type string "#NODESET"
  Overrides:
    getTypeString in class XObject

### 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.
  Returns:
    numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found
  Overrides:
    num in class XObject

### numWithSideEffects

    public double numWithSideEffects()

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

### bool

    public boolean bool()

  Cast result object to a boolean.
  Returns:
    True if there is a next node in the nodeset
  Overrides:
    bool in class XObject

### boolWithSideEffects

    public boolean boolWithSideEffects()

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

### getStringFromNode

    public XMLString getStringFromNode(int n)

  Get the string conversion from a single node.
  Parameters:
    `n` - Node to convert
  Returns:
    the string conversion from a single node.

### dispatchCharactersEvents

    public void dispatchCharactersEvents(ContentHandler ch)
                                  throws SAXException

  Directly call the characters method on the passed ContentHandler for the string-value. Multiple calls to the ContentHandler's characters methods may well occur for a single call to this method.
  Parameters:
    `ch` - A non-null reference to a ContentHandler.
  Throws:
    SAXException -
  Overrides:
    dispatchCharactersEvents in class XObject

### xstr

    public XMLString xstr()

  Cast result object to an XMLString.
  Returns:
    The document fragment node data or the empty string.
  Overrides:
    xstr in class XObject

### appendToFsb

    public void appendToFsb(FastStringBuffer fsb)

  Cast result object to a string.
  Returns:
    The string this wraps or the empty string if null
  Overrides:
    appendToFsb in class XObject

### str

    public java.lang.String str()

  Cast result object to a string.
  Returns:
    the string conversion from the next node in the nodeset or "" if there is no next node
  Overrides:
    str in class XObject

### object

    public java.lang.Object object()

  Return a java object that's closest to the representation that should be handed to an extension.
  Returns:
    The object that this class wraps
  Overrides:
    object in class XObject

### nodeset

    public NodeIterator nodeset()
                         throws TransformerException

  Cast result object to a nodelist.
  Returns:
    a NodeIterator.
  Throws:
    TransformerException -
  Overrides:
    nodeset in class XObject

### nodelist

    public NodeList nodelist()
                      throws TransformerException

  Cast result object to a nodelist.
  Returns:
    a NodeList.
  Throws:
    TransformerException -
  Overrides:
    nodelist in class XObject

### iterRaw

    public DTMIterator iterRaw()

  Return the iterator without cloning, etc.

### release

    public void release(DTMIterator iter)

### iter

    public DTMIterator iter()

  Cast result object to a nodelist.
  Returns:
    The nodeset as a nodelist
  Overrides:
    iter in class XObject

### getFresh

    public XObject getFresh()

  Get a fresh copy of the object. For use with variables.
  Returns:
    A fresh nodelist.
  Overrides:
    getFresh in class XObject

### mutableNodeset

    public NodeSetDTM mutableNodeset()

  Cast result object to a mutableNodeset.
  Returns:
    The nodeset as a mutableNodeset
  Overrides:
    mutableNodeset in class XObject

### compare

    public boolean compare(XObject obj2,
                           org.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 -

### lessThan

    public boolean lessThan(XObject obj2)
                     throws TransformerException

  Tell if one object is less than the other.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    lessThan in class XObject

### lessThanOrEqual

    public boolean lessThanOrEqual(XObject obj2)
                            throws TransformerException

  Tell if one object is less than or equal to the other.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    lessThanOrEqual in class XObject

### greaterThan

    public boolean greaterThan(XObject obj2)
                        throws TransformerException

  Tell if one object is less than the other.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    greaterThan in class XObject

### greaterThanOrEqual

    public boolean greaterThanOrEqual(XObject obj2)
                               throws TransformerException

  Tell if one object is less than the other.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    greaterThanOrEqual in class XObject

### equals

    public boolean equals(XObject obj2)

  Tell if two objects are functionally equal.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    equals in class XObject

### notEquals

    public boolean notEquals(XObject obj2)
                      throws TransformerException

  Tell if two objects are functionally not equal.
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    TransformerException -
  Overrides:
    notEquals in class XObject

Copyright © 2006 Apache XML Project. All Rights Reserved.