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

## org.apache.xpath.axes
Class NodeSequence

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

Direct Known Subclasses:
  XNodeSet

public class NodeSequence
extends XObject
implements DTMIterator, java.lang.Cloneable, PathComponent

This class is the dynamic wrapper for a Xalan DTMIterator instance, and provides random access capabilities.

See Also:
  Serialized Form

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
`NodeSequence()` Create a new NodeSequence in an invalid (null) state.
`NodeSequence(DTMIterator iter, int context, XPathContext xctxt, boolean shouldCacheNodes)` Create a new NodeSequence from a (already cloned) iterator.
`NodeSequence(DTMManager dtmMgr)` Construct an empty XNodeSet object.
`NodeSequence(java.lang.Object nodeVector)` Create a new NodeSequence from a (already cloned) iterator.

Method Summary
`void` | `allowDetachToRelease(boolean allowRelease)` Calling this with a value of false will cause the nodeset to be cached.
`java.lang.Object` | `clone()` Get a clone of this iterator, but don't reset the iteration in the process, so that it may be used from the current position.
`DTMIterator` | `cloneWithReset()` Note: Not a deep clone.
`void` | `detach()`
`void` | `fixupVariables(java.util.Vector vars, int globalsSize)`
`int` | `getAnalysisBits()`
`int` | `getAxis()`
`DTMIterator` | `getContainedIter()` Get the functional iterator that fetches nodes.
`int` | `getCurrentNode()`
`int` | `getCurrentPos()`
`DTM` | `getDTM(int nodeHandle)`
`DTMManager` | `getDTMManager()`
`boolean` | `getExpandEntityReferences()`
`int` | `getLength()`
`int` | `getRoot()`
`int` | `getWhatToShow()`
`boolean` | `hasCache()` If this iterator needs to cache nodes that are fetched, they are stored here.
`boolean` | `isDocOrdered()`
`boolean` | `isFresh()`
`boolean` | `isMutable()`
`int` | `item(int index)`
`int` | `nextNode()`
`int` | `previousNode()`
`void` | `reset()`
`void` | `runTo(int index)`
`void` | `setCurrentPos(int i)`
`void` | `setItem(int node, int index)`
`void` | `setIter(DTMIterator iter)` Set the functional iterator that fetches nodes.
`void` | `setRoot(int nodeHandle, java.lang.Object environment)`
`void` | `setShouldCacheNodes(boolean b)`

Methods inherited from class org.apache.xpath.objects.XObject
`appendToFsb, bool, boolWithSideEffects, callVisitors, castToType, create, create, deepEquals, destruct, dispatchCharactersEvents, equals, execute, getFresh, getType, getTypeString, greaterThan, greaterThanOrEqual, iter, lessThan, lessThanOrEqual, mutableNodeset, nodelist, nodeset, notEquals, num, numWithSideEffects, object, rtf, rtf, rtree, rtree, str, toString, xstr`

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

### NodeSequence

    public NodeSequence(DTMIterator iter,
                        int context,
                        XPathContext xctxt,
                        boolean shouldCacheNodes)

  Create a new NodeSequence from a (already cloned) iterator.
  Parameters:
    `iter` - Cloned (not static) DTMIterator.
    `context` - The initial context node.
    `xctxt` - The execution context.
    `shouldCacheNodes` - True if this sequence can random access.

### NodeSequence

    public NodeSequence(java.lang.Object nodeVector)

  Create a new NodeSequence from a (already cloned) iterator.
  Parameters:
    `iter` - Cloned (not static) DTMIterator.

### NodeSequence

    public NodeSequence(DTMManager dtmMgr)

  Construct an empty XNodeSet object. This is used to create a mutable nodeset to which random nodes may be added.

### NodeSequence

    public NodeSequence()

  Create a new NodeSequence in an invalid (null) state.

Method Detail

### hasCache

    public boolean hasCache()

  If this iterator needs to cache nodes that are fetched, they are stored here.

### setIter

    public final void setIter(DTMIterator iter)

  Set the functional iterator that fetches nodes.
  Parameters:
    `iter` - The iterator that is to be contained.

### getContainedIter

    public final DTMIterator getContainedIter()

  Get the functional iterator that fetches nodes.
  Returns:
    The contained iterator.

### getDTM

    public DTM getDTM(int nodeHandle)

  Specified by:
    getDTM in interface DTMIterator
  See Also:
    `DTMIterator.getDTM(int)`

### getDTMManager

    public DTMManager getDTMManager()

  Specified by:
    getDTMManager in interface DTMIterator
  See Also:
    `DTMIterator.getDTMManager()`

### getRoot

    public int getRoot()

  Specified by:
    getRoot in interface DTMIterator
  See Also:
    `DTMIterator.getRoot()`

### setRoot

    public void setRoot(int nodeHandle,
                        java.lang.Object environment)

  Specified by:
    setRoot in interface DTMIterator
  See Also:
    `DTMIterator.setRoot(int, Object)`

### reset

    public void reset()

  Specified by:
    reset in interface DTMIterator
  Overrides:
    reset in class XObject
  See Also:
    `DTMIterator.reset()`

### getWhatToShow

    public int getWhatToShow()

  Specified by:
    getWhatToShow in interface DTMIterator
  See Also:
    `DTMIterator.getWhatToShow()`

### getExpandEntityReferences

    public boolean getExpandEntityReferences()

  Specified by:
    getExpandEntityReferences in interface DTMIterator
  See Also:
    `DTMIterator.getExpandEntityReferences()`

### nextNode

    public int nextNode()

  Specified by:
    nextNode in interface DTMIterator
  See Also:
    `DTMIterator.nextNode()`

### previousNode

    public int previousNode()

  Specified by:
    previousNode in interface DTMIterator
  See Also:
    `DTMIterator.previousNode()`

### detach

    public void detach()

  Specified by:
    detach in interface DTMIterator
  Overrides:
    detach in class XObject
  See Also:
    `DTMIterator.detach()`

### allowDetachToRelease

    public void allowDetachToRelease(boolean allowRelease)

  Calling this with a value of false will cause the nodeset to be cached.
  Specified by:
    allowDetachToRelease in interface DTMIterator
  Overrides:
    allowDetachToRelease in class XObject
  See Also:
    `DTMIterator.allowDetachToRelease(boolean)`

### getCurrentNode

    public int getCurrentNode()

  Specified by:
    getCurrentNode in interface DTMIterator
  See Also:
    `DTMIterator.getCurrentNode()`

### isFresh

    public boolean isFresh()

  Specified by:
    isFresh in interface DTMIterator
  See Also:
    `DTMIterator.isFresh()`

### setShouldCacheNodes

    public void setShouldCacheNodes(boolean b)

  Specified by:
    setShouldCacheNodes in interface DTMIterator
  See Also:
    `DTMIterator.setShouldCacheNodes(boolean)`

### isMutable

    public boolean isMutable()

  Specified by:
    isMutable in interface DTMIterator
  See Also:
    `DTMIterator.isMutable()`

### getCurrentPos

    public int getCurrentPos()

  Specified by:
    getCurrentPos in interface DTMIterator
  See Also:
    `DTMIterator.getCurrentPos()`

### runTo

    public void runTo(int index)

  Specified by:
    runTo in interface DTMIterator
  See Also:
    `DTMIterator.runTo(int)`

### setCurrentPos

    public void setCurrentPos(int i)

  Specified by:
    setCurrentPos in interface DTMIterator
  See Also:
    `DTMIterator.setCurrentPos(int)`

### item

    public int item(int index)

  Specified by:
    item in interface DTMIterator
  See Also:
    `DTMIterator.item(int)`

### setItem

    public void setItem(int node,
                        int index)

  Specified by:
    setItem in interface DTMIterator
  See Also:
    `DTMIterator.setItem(int, int)`

### getLength

    public int getLength()

  Specified by:
    getLength in interface DTMIterator
  See Also:
    `DTMIterator.getLength()`

### cloneWithReset

    public DTMIterator cloneWithReset()
                               throws java.lang.CloneNotSupportedException

  Note: Not a deep clone.
  Specified by:
    cloneWithReset in interface DTMIterator
  See Also:
    `DTMIterator.cloneWithReset()`

### clone

    public java.lang.Object clone()
                           throws java.lang.CloneNotSupportedException

  Get a clone of this iterator, but don't reset the iteration in the process, so that it may be used from the current position. Note: Not a deep clone.
  Specified by:
    clone in interface DTMIterator
  Returns:
    A clone of this object.
  Throws:
    java.lang.CloneNotSupportedException -

### isDocOrdered

    public boolean isDocOrdered()

  Specified by:
    isDocOrdered in interface DTMIterator
  See Also:
    `DTMIterator.isDocOrdered()`

### getAxis

    public int getAxis()

  Specified by:
    getAxis in interface DTMIterator
  See Also:
    `DTMIterator.getAxis()`

### getAnalysisBits

    public int getAnalysisBits()

  Specified by:
    getAnalysisBits in interface PathComponent
  See Also:
    `PathComponent.getAnalysisBits()`

### fixupVariables

    public void fixupVariables(java.util.Vector vars,
                               int globalsSize)

  Overrides:
    fixupVariables in class XObject
  See Also:
    `Expression.fixupVariables(Vector, int)`

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

Copyright © 2002 Apache XML Project. All Rights Reserved.