diva.util
Class IteratorIterator

java.lang.Object
  extended by diva.util.IteratorAdapter
      extended by diva.util.IteratorIterator
All Implemented Interfaces:
java.util.Iterator

public abstract class IteratorIterator
extends IteratorAdapter

An iterator that takes an iterator over objects that themselves produce iterators, and which iterators over the elements in the sub-iterators. To get the iterators from the objects iterated over, the method iterator() must be over-ridden to convert a given result from the top-level iterator into a sub-iterator.

Version:
$Id: IteratorIterator.java 47896 2008-01-24 02:07:38Z cxh $
Author:
John Reekie

Field Summary
private  java.util.Iterator _iterator
           
private  java.util.Iterator _subiterator
           
 
Constructor Summary
IteratorIterator(java.util.Iterator i)
           
 
Method Summary
 boolean hasNext()
           
protected abstract  java.util.Iterator iterator(java.lang.Object o)
           
 java.lang.Object next()
           
 
Methods inherited from class diva.util.IteratorAdapter
remove
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_iterator

private java.util.Iterator _iterator

_subiterator

private java.util.Iterator _subiterator
Constructor Detail

IteratorIterator

public IteratorIterator(java.util.Iterator i)
Method Detail

hasNext

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

iterator

protected abstract java.util.Iterator iterator(java.lang.Object o)

next

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