qflib 0.98.1

de.qfs.lib.util
Class MultiMap.MapIterator

java.lang.Object
  |
  +--de.qfs.lib.util.MultiMap.MapIterator
All Implemented Interfaces:
java.util.Iterator
Enclosing class:
MultiMap

protected class MultiMap.MapIterator
extends java.lang.Object
implements java.util.Iterator

Iterator for the key, value and entry collections of the MultiMap.


Field Summary
protected  MultiMap.ValueSet current
          The ValueSet that is currently iterated over.
protected  java.util.Iterator entries
          An iterator over the entries of the delegate.
protected  int expectedModCounter
          The modCounter that the iterator expects.
protected  java.util.Iterator inner
          An iteratore over the elements of a ValueSet.
protected  java.util.Map.Entry lastEntry
          The Entry used in the last call to next.
protected  java.lang.Object lastValue
          The lastValue returned from next.
protected  int type
          The type of the iterator, KEYS, VALUES or ENTRIES.
 
Constructor Summary
MultiMap.MapIterator(int type)
          Create a new MapIterator.
 
Method Summary
 boolean hasNext()
          Returns true if the iteration has more elements.
 java.lang.Object next()
          Returns the next element in the interation.
 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
 

Field Detail

type

protected int type
The type of the iterator, KEYS, VALUES or ENTRIES.

entries

protected java.util.Iterator entries
An iterator over the entries of the delegate.

inner

protected java.util.Iterator inner
An iteratore over the elements of a ValueSet.

current

protected MultiMap.ValueSet current
The ValueSet that is currently iterated over.

expectedModCounter

protected int expectedModCounter
The modCounter that the iterator expects.

lastEntry

protected java.util.Map.Entry lastEntry
The Entry used in the last call to next.

lastValue

protected java.lang.Object lastValue
The lastValue returned from next.
Constructor Detail

MultiMap.MapIterator

public MultiMap.MapIterator(int type)
Create a new MapIterator.
Parameters:
type - The type of the iterator.
Method Detail

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.)
Specified by:
hasNext in interface java.util.Iterator
Returns:
true if the iterator has more elements.

next

public java.lang.Object next()
Returns the next element in the interation.
Specified by:
next in interface java.util.Iterator
Returns:
the next element in the interation.
Throws:
java.util.NoSuchElementException - if the iteration has no more elements.
java.util.ConcurrentModificationException - if the MultiMap has been modified (except through this iterator).

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 interface java.util.Iterator
Throws:
java.lang.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.
java.util.ConcurrentModificationException - if the MultiMap has been modified (except through this iterator).

qflib 0.98.1