xapi.collect.impl.SingletonIterator Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of xapi-dev Show documentation
Show all versions of xapi-dev Show documentation
Everything needed to run a comprehensive dev environment.
Just type X_ and pick a service from autocomplete;
new dev modules will be added as they are built.
The only dev service not included in the uber jar is xapi-dev-maven,
as it includes all runtime dependencies of maven, adding ~4 seconds to build time,
and 6 megabytes to the final output jar size (without xapi-dev-maven, it's ~1MB).
The newest version!
package xapi.collect.impl;
import java.util.Iterator;
public class SingletonIterator implements Iterable{
private final class Iter implements Iterator {
private X object;
public Iter(X object) {
this.object = object;
}
@Override
public boolean hasNext() {
return object != null;
}
@Override
public X next() {
try {
return object;
} finally {
object = null;
}
}
@Override
public void remove() {
object = null;
}
}
private final X singleton;
public SingletonIterator(X singleton) {
this.singleton = singleton;
}
@Override
public Iterator iterator() {
return new Iter(singleton);
}
}