org.apache.xml.dtm.ref.sax2dtm
Class SAX2DTM2.TypedChildrenIterator

java.lang.Object
  extended by org.apache.xml.dtm.ref.DTMAxisIteratorBase
      extended by org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
          extended by org.apache.xml.dtm.ref.sax2dtm.SAX2DTM2.TypedChildrenIterator
All Implemented Interfaces:
java.lang.Cloneable, DTMAxisIterator
Enclosing class:
SAX2DTM2

public final class SAX2DTM2.TypedChildrenIterator
extends DTMDefaultBaseIterators.InternalAxisIteratorBase

Iterator that returns children of a given type 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
private  int _nodeType
          The extended type ID that was requested.
 
Fields inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
_currentNode
 
Fields inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
_includeSelf, _isRestartable, _last, _markedNode, _position, _startNode
 
Fields inherited from interface org.apache.xml.dtm.DTMAxisIterator
END
 
Constructor Summary
SAX2DTM2.TypedChildrenIterator(int nodeType)
          Constructor TypedChildrenIterator
 
Method Summary
 int getNodeByPosition(int position)
          Return the node at the given position.
 int next()
          Get the next node in the iteration.
 DTMAxisIterator setStartNode(int node)
          Set start to END should 'close' the iterator, i.e.
 
Methods inherited from class org.apache.xml.dtm.ref.DTMDefaultBaseIterators.InternalAxisIteratorBase
gotoMark, setMark
 
Methods inherited from class org.apache.xml.dtm.ref.DTMAxisIteratorBase
cloneIterator, getAxis, getLast, getPosition, getStartNode, includeSelf, isDocOrdered, isReverse, reset, resetPosition, returnNode, setRestartable
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_nodeType

private final int _nodeType
The extended type ID that was requested.

Constructor Detail

SAX2DTM2.TypedChildrenIterator

public SAX2DTM2.TypedChildrenIterator(int nodeType)
Constructor TypedChildrenIterator

Parameters:
nodeType - 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.

getNodeByPosition

public int getNodeByPosition(int position)
Return the node at the given position.

Specified by:
getNodeByPosition in interface DTMAxisIterator
Overrides:
getNodeByPosition in class DTMAxisIteratorBase
Parameters:
position - The position
Returns:
The node at the given position.