SingularIterator.java
- package no.motif.iter;
- import java.util.NoSuchElementException;
- /**
- * Wraps a single object in an iterator. The object is returned at most
- * once from {@link #next()}.
- */
- public final class SingularIterator<V> extends ReadOnlyIterator<V> {
- private final V value;
- private boolean hasBeenReturned = false;
- public SingularIterator(V value) {
- this.value = value;
- }
- @Override
- public boolean hasNext() {
- return !hasBeenReturned;
- }
- @Override
- public V next() {
- if (hasBeenReturned) throw new NoSuchElementException();
- hasBeenReturned = true;
- return value;
- }
- }