org.jaxen.util
Class StackedIterator

java.lang.Object
  extended byorg.jaxen.util.StackedIterator
All Implemented Interfaces:
java.util.Iterator
Direct Known Subclasses:
AncestorAxisIterator, DescendantAxisIterator, PrecedingAxisIterator.ReverseDescendantOrSelfAxisIterator

public abstract class StackedIterator
extends java.lang.Object
implements java.util.Iterator


Field Summary
private  java.lang.Object contextNode
           
private  java.util.Set created
           
private  java.util.LinkedList iteratorStack
           
private  Navigator navigator
           
 
Constructor Summary
protected StackedIterator()
           
  StackedIterator(java.lang.Object contextNode, Navigator navigator)
           
 
Method Summary
protected abstract  java.util.Iterator createIterator(java.lang.Object contextNode)
           
private  java.util.Iterator currentIterator()
           
protected  Navigator getNavigator()
           
 boolean hasNext()
           
protected  void init(java.lang.Object contextNode, Navigator navigator)
           
private  java.util.Iterator internalCreateIterator(java.lang.Object contextNode)
           
 java.lang.Object next()
           
protected  void pushIterator(java.util.Iterator iter)
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

contextNode

private java.lang.Object contextNode

iteratorStack

private java.util.LinkedList iteratorStack

navigator

private Navigator navigator

created

private java.util.Set created
Constructor Detail

StackedIterator

public StackedIterator(java.lang.Object contextNode,
                       Navigator navigator)

StackedIterator

protected StackedIterator()
Method Detail

init

protected void init(java.lang.Object contextNode,
                    Navigator navigator)

internalCreateIterator

private java.util.Iterator internalCreateIterator(java.lang.Object contextNode)

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator

next

public java.lang.Object next()
                      throws java.util.NoSuchElementException
Specified by:
next in interface java.util.Iterator
Throws:
java.util.NoSuchElementException

remove

public void remove()
            throws java.lang.UnsupportedOperationException
Specified by:
remove in interface java.util.Iterator
Throws:
java.lang.UnsupportedOperationException

createIterator

protected abstract java.util.Iterator createIterator(java.lang.Object contextNode)

pushIterator

protected void pushIterator(java.util.Iterator iter)

currentIterator

private java.util.Iterator currentIterator()

getNavigator

protected Navigator getNavigator()