Package repast.simphony.util.collections
Class IteratorOverIterables<T>
java.lang.Object
repast.simphony.util.collections.IteratorOverIterables<T>
- All Implemented Interfaces:
Iterator<T>
Abstract base class for creating an Iterator that wraps object that returns
multiple iterables. The iterator will iterate over all the objects returned
by each iterable.
- Version:
- $Revision$ $Date$
- Author:
- Nick Collier
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiongetNext()
Gets the next Iterable from which to retrieve the next object.protected T
boolean
hasNext()
Returns true if the iteration has more elements.protected void
init()
Initializes the iterator.next()
Returns the next element in the iteration.void
remove()
Removes from the underlying collection the last element returned by the iterator (optional operation).Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.Iterator
forEachRemaining
-
Field Details
-
nextIter
-
nextObj
-
-
Constructor Details
-
IteratorOverIterables
public IteratorOverIterables()
-
-
Method Details
-
getNextObj
-
init
protected void init()Initializes the iterator. This needs to be called in the constructor of the implementing subclass. -
getNext
Gets the next Iterable from which to retrieve the next object.- Returns:
- the next Iterable from which to retrieve the next object.
-
hasNext
public boolean hasNext()Returns true if the iteration has more elements. (In other words, returns true if next would return an element rather than throwing an exception.) -
next
Returns the next element in the iteration. Calling this method repeatedly until thehasNext()
method returns false will return each element in the underlying collection exactly once.- Specified by:
next
in interfaceIterator<T>
- Returns:
- the next element in the iteration.
- Throws:
NoSuchElementException
- iteration has no more elements.
-
remove
public void remove()Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.- Specified by:
remove
in interfaceIterator<T>
- Throws:
UnsupportedOperationException
- if the remove operation is not supported by this Iterator.IllegalStateException
- if the next method has not yet been called, or the remove method has already been called after the last call to the next method.
-