Top Description Fields Constructors Methods
com.google.common.collect

pack-priv final Class ConsumingQueueIterator<T extends @Nullable Object>

extends AbstractIterator<T extends @Nullable Object>
Class Inheritance
Annotations
@GwtCompatible
@ElementTypesAreNonnullByDefault
Static Imports
com.google.common.base.Preconditions.checkNotNull

An Iterator implementation which draws elements from a queue, removing them from the queue as it iterates. This class is not thread safe.

Field Summary

Modifier and TypeField and Description
private final Queue<T>

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
protected T
computeNext()

Implements abstract com.google.common.collect.AbstractIterator.computeNext.

Returns the next element

Note

the implementation must call endOfData() when there are no elements left in the iteration.

Inherited from com.google.common.collect.AbstractIterator:
endOfDatahasNextnextpeek

Field Detail

queueback to summary
private final Queue<T> queue

Constructor Detail

ConsumingQueueIteratorback to summary
pack-priv ConsumingQueueIterator(Queue<T> queue)

Method Detail

computeNextback to summary
protected T computeNext()

Implements abstract com.google.common.collect.AbstractIterator.computeNext.

Doc from com.google.common.collect.AbstractIterator.computeNext.

Returns the next element

Note

the implementation must call endOfData() when there are no elements left in the iteration. Failure to do so could result in an infinite loop.

The initial invocation of hasNext() or next() calls this method, as does the first invocation of hasNext or next following each successful call to next. Once the implementation either invokes endOfData or throws an exception, computeNext is guaranteed to never be called again.

If this method throws an exception, it will propagate outward to the hasNext or next invocation that invoked this method. Any further attempts to use the iterator will result in an IllegalStateException.

The implementation of this method may not invoke the hasNext, next, or peek() methods on this instance; if it does, an IllegalStateException will result.

Returns:T

the next element if there was one. If endOfData was called during execution, the return value will be ignored.

Annotations
@Override
@CheckForNull