@GwtCompatible public final class MinimalIterable<E> extends Object implements Iterable<E>
Iterable
which throws an exception on all
invocations of the iterator()
method after the first, and whose
iterator is always unmodifiable.
The Iterable
specification does not make it absolutely clear what
should happen on a second invocation, so implementors have made various
choices, including:
Collection
implementations have, of returning a new, independent iterator
Because of this situation, any public method accepting an iterable should
invoke the iterator
method only once, and should be tested using this
class. Exceptions to this rule should be clearly documented.
Note that although your APIs should be liberal in what they accept, your methods which return iterables should make every attempt to return ones of the robust variety.
This testing utility is not thread-safe.
Modifier and Type | Method and Description |
---|---|
static <E> MinimalIterable<E> |
from(Collection<E> elements)
Returns an iterable whose iterator returns the given elements in order.
|
Iterator<E> |
iterator() |
static <E> MinimalIterable<E> |
of(E... elements)
Returns an iterable whose iterator returns the given elements in order.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public static <E> MinimalIterable<E> of(E... elements)
public static <E> MinimalIterable<E> from(Collection<E> elements)
Copyright © 2010–2017. All rights reserved.