soot.util.queue
Class QueueReader<E>

java.lang.Object
  extended by soot.util.queue.QueueReader<E>
All Implemented Interfaces:
Iterator<E>

public class QueueReader<E>
extends Object
implements Iterator<E>

A queue of Object's. One can add objects to the queue, and they are later read by a QueueReader. One can create arbitrary numbers of QueueReader's for a queue, and each one receives all the Object's that are added. Only objects that have not been read by all the QueueReader's are kept. A QueueReader only receives the Object's added to the queue after the QueueReader was created.

Author:
Ondrej Lhotak

Method Summary
 QueueReader<E> clone()
           
 boolean hasNext()
          Returns true iff there is currently another object in the queue.
 E next()
          Returns (and removes) the next object in the queue, or null if there are none.
 void remove()
           
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

next

public final E next()
Returns (and removes) the next object in the queue, or null if there are none.

Specified by:
next in interface Iterator<E>

hasNext

public final boolean hasNext()
Returns true iff there is currently another object in the queue.

Specified by:
hasNext in interface Iterator<E>

remove

public final void remove()
Specified by:
remove in interface Iterator<E>

clone

public final QueueReader<E> clone()
Overrides:
clone in class Object