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-gwt Show documentation
Show all versions of xapi-gwt Show documentation
This module exists solely to package all other gwt modules into a single
uber jar. This makes deploying to non-mavenized targets much easier.
Of course, you would be wise to inherit your dependencies individually;
the uber jar is intended for projects like collide,
which have complex configuration, and adding many jars would be a pain.
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);
}
}