org.apache.xml.dtm.ref
Class DTMDefaultBaseIterators.NamespaceChildrenIterator

java.lang.Object
  extended byorg.apache.xml.dtm.ref.DTMAxisIteratorBase
      extended byorg.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
          extended byorg.apache.xml.dtm.ref.DTMDefaultBaseIterators.NamespaceChildrenIterator
All Implemented Interfaces:
Cloneable, DTMAxisIterator
Enclosing class:
DTMDefaultBaseIterators

private final class DTMDefaultBaseIterators.NamespaceChildrenIterator
extends DTMDefaultBaseIterators.InternalAxisIteratorBase

Iterator that returns children within a given namespace for a given node. The functionality chould be achieved by putting a filter on top of a basic child iterator, but a specialised iterator is used for efficiency (both speed and size of translet).


Field Summary
protected  int _currentNode
          Current iteration location.
private  int _nsType
          The extended type ID being requested.
 
Fields inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
_includeSelf, _isRestartable, _markedNode, _startNode
 
Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator
END
 
Constructor Summary
DTMDefaultBaseIterators.NamespaceChildrenIterator(int type)
          Constructor NamespaceChildrenIterator
 
Method Summary
 void gotoMark()
          Restores the current node remembered by setMark().
 int next()
          Get the next node in the iteration.
 void setMark()
          Remembers the current node for the next call to gotoMark().
 DTMAxisIterator setStartNode(int node)
          Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.
 
Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
cloneIterator, getAxis, getLast, getPosition, getStartNode, includeSelf, isDocOrdered, isReverse, reset, resetPosition, returnNode
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_nsType

private final int _nsType
The extended type ID being requested.


_currentNode

protected int _currentNode
Current iteration location. Usually this is the last location returned (starting point for the next() search); for single-node iterators it may instead be initialized to point to that single node.

Constructor Detail

DTMDefaultBaseIterators.NamespaceChildrenIterator

public DTMDefaultBaseIterators.NamespaceChildrenIterator(int type)
Constructor NamespaceChildrenIterator

Parameters:
type - The extended type ID being requested.
Method Detail

setStartNode

public DTMAxisIterator setStartNode(int node)
Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Parameters:
node - Sets the root of the iteration.
Returns:
A DTMAxisIterator set to the start of the iteration.

next

public int next()
Get the next node in the iteration.

Returns:
The next node handle in the iteration, or END.

setMark

public void setMark()
Remembers the current node for the next call to gotoMark(). %REVIEW% Should this save _position too?


gotoMark

public void gotoMark()
Restores the current node remembered by setMark(). %REVEIW% Should this restore _position too?