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