xapi.gwt.collect.JsArrayIterator 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.gwt.collect;
import java.util.Iterator;
import com.google.gwt.core.client.GwtScriptOnly;
import com.google.gwt.core.client.JavaScriptObject;
@GwtScriptOnly
public class JsArrayIterator implements Iterator {
private JavaScriptObject obj;
private int pos;
public JsArrayIterator(JavaScriptObject obj) {
this.obj = obj;
}
@Override
public native boolean hasNext()
/*-{
return [email protected]::pos
< [email protected]::obj.length;
}-*/;
@Override
public native E next()
/*-{
return [email protected]::obj[[email protected]::pos++];
}-*/;
@Override
public native void remove()
/*-{
[email protected]::obj
.splice([email protected]::pos,1);
}-*/;
}