Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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

All Implemented Interfaces:
  java.lang.Cloneable, DTMIterator, ExpressionNode, PathComponent, java.io.Serializable, SourceLocator, XPathVisitable

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:

Field Summary

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`

Fields inherited from interface org.apache.xml.dtm.DTMIterator
`FILTER_ACCEPT, FILTER_REJECT, FILTER_SKIP`

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.

  Overrides:
    `getType` in class `XObject`
  Returns:
    type CLASS_NODESET

### getTypeString

    public java.lang.String getTypeString()

  Given a request type, return the equivalent string. For diagnostic purposes.

  Overrides:
    `getTypeString` in class `XObject`
  Returns:
    type string "#NODESET"

### 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.

  Overrides:
    `num` in class `XObject`
  Returns:
    numeric value of the string conversion from the next node in the NodeSetDTM, or NAN if no node was found

### 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.

  Overrides:
    `bool` in class `XObject`
  Returns:
    True if there is a next node in the nodeset

### 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 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.

  Overrides:
    `dispatchCharactersEvents` in class `XObject`
  Parameters:
    `ch` - A non-null reference to a ContentHandler.
  Throws:
    `SAXException`

### xstr

    public XMLString xstr()

  Cast result object to an XMLString.

  Overrides:
    `xstr` in class `XObject`
  Returns:
    The document fragment node data or the empty string.

### appendToFsb

    public void appendToFsb(FastStringBuffer fsb)

  Cast result object to a string.

  Overrides:
    `appendToFsb` in class `XObject`
  Returns:
    The string this wraps or the empty string if null

### str

    public java.lang.String str()

  Cast result object to a string.

  Overrides:
    `str` in class `XObject`
  Returns:
    the string conversion from the next node in the nodeset or "" if there is no next node

### object

    public java.lang.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.

  Overrides:
    `nodeset` in class `XObject`
  Returns:
    a NodeIterator.
  Throws:
    `TransformerException`

### nodelist

    public NodeList nodelist()
                      throws TransformerException

  Cast result object to a nodelist.

  Overrides:
    `nodelist` in class `XObject`
  Returns:
    a NodeList.
  Throws:
    `TransformerException`

### 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.

  Overrides:
    `iter` in class `XObject`
  Returns:
    The nodeset as a nodelist

### getFresh

    public XObject getFresh()

  Get a fresh copy of the object. For use with variables.

  Overrides:
    `getFresh` in class `XObject`
  Returns:
    A fresh nodelist.

### mutableNodeset

    public NodeSetDTM mutableNodeset()

  Cast result object to a mutableNodeset.

  Overrides:
    `mutableNodeset` in class `XObject`
  Returns:
    The nodeset as a mutableNodeset

### 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.

  Overrides:
    `lessThan` in class `XObject`
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

### 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 nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

### greaterThan

    public boolean greaterThan(XObject obj2)
                        throws TransformerException

  Tell if one object is less than the other.

  Overrides:
    `greaterThan` in class `XObject`
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

### greaterThanOrEqual

    public boolean greaterThanOrEqual(XObject obj2)
                               throws TransformerException

  Tell if one object is less than the other.

  Overrides:
    `greaterThanOrEqual` in class `XObject`
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

### equals

    public boolean equals(XObject obj2)

  Tell if two objects are functionally equal.

  Overrides:
    `equals` in class `XObject`
  Parameters:
    `obj2` - object to compare this nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

### 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 nodeset to
  Returns:
    see this.compare(...)
  Throws:
    `TransformerException`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2004 Apache XML Project. All Rights Reserved.