net.sf.jga.util
Class FindAllIterator<T>

java.lang.Object
  extended by net.sf.jga.util.FindAllIterator<T>
All Implemented Interfaces:
java.lang.Iterable<java.util.Iterator<? extends T>>, java.util.Iterator<java.util.Iterator<? extends T>>

public class FindAllIterator<T>
extends java.lang.Object
implements java.lang.Iterable<java.util.Iterator<? extends T>>, java.util.Iterator<java.util.Iterator<? extends T>>

Iterator that applies one of the FindX functors as many times as possible. Formally, this iterator uses a functor that takes one iterator and returns an iterator, and repeatedly applies it to a given iterator until the result iterator's hasNext() method is false.

Copyright © 2004 David A. Hall

Author:
David A. Hall

Constructor Summary
FindAllIterator(java.util.Iterator<? extends T> it, UnaryFunctor<java.util.Iterator<? extends T>,? extends java.util.Iterator<T>> fn)
          Builds a FindAllIterator that will apply the given functor to the given iterator.
 
Method Summary
 boolean hasNext()
           
 java.util.Iterator<java.util.Iterator<? extends T>> iterator()
           
 java.util.Iterator<? extends T> next()
           
 void remove()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FindAllIterator

public FindAllIterator(java.util.Iterator<? extends T> it,
                       UnaryFunctor<java.util.Iterator<? extends T>,? extends java.util.Iterator<T>> fn)
Builds a FindAllIterator that will apply the given functor to the given iterator.

Method Detail

iterator

public java.util.Iterator<java.util.Iterator<? extends T>> iterator()
Specified by:
iterator in interface java.lang.Iterable<java.util.Iterator<? extends T>>

hasNext

public boolean hasNext()
Specified by:
hasNext in interface java.util.Iterator<java.util.Iterator<? extends T>>

next

public java.util.Iterator<? extends T> next()
Specified by:
next in interface java.util.Iterator<java.util.Iterator<? extends T>>

remove

public void remove()
Specified by:
remove in interface java.util.Iterator<java.util.Iterator<? extends T>>


Copyright © 2002-2005 David A. Hall. All Rights Reserved.