您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

JSArray.java 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package gquery.client;
  2. import com.google.gwt.core.client.JavaScriptObject;
  3. import com.google.gwt.dom.client.Element;
  4. import com.google.gwt.dom.client.Node;
  5. import com.google.gwt.dom.client.NodeList;
  6. /**
  7. */
  8. public class JSArray extends NodeList<Element> {
  9. public static JSArray create() {
  10. return (JSArray) JavaScriptObject.createArray();
  11. }
  12. public static native JSArray create(Node node) /*-{
  13. return [node];
  14. }-*/;
  15. public static native JSArray create(NodeList nl) /*-{
  16. var r = [], len=nl.length;
  17. for(var i=0; i<len; i++) {
  18. r.push(nl[i]);
  19. }
  20. return r;
  21. }-*/;
  22. protected JSArray() {
  23. }
  24. public final native void addInt(int i) /*-{
  25. this[this.length]=i;
  26. }-*/;
  27. public final native void addNode(Node n) /*-{
  28. this[this.length]=n;
  29. }-*/;
  30. public final native void addNode(Node ci, int i) /*-{
  31. this[i]=ci;
  32. }-*/;
  33. public final native void concat(JSArray ary) /*-{
  34. this.concat(ary);
  35. }-*/;
  36. public final native Element getElement(int i) /*-{
  37. return this[i];
  38. }-*/;
  39. public final native int getInt(int i) /*-{
  40. return this[i] || 0;
  41. }-*/;
  42. public final native Node getNode(int i) /*-{
  43. return this[i];
  44. }-*/;
  45. public final native String getStr(int i) /*-{
  46. return this[i] || null;
  47. }-*/;
  48. public final void pushAll(JSArray prevElem) {
  49. for (int i = 0, ilen = prevElem.size(); i < ilen; i++) {
  50. addNode(prevElem.getNode(i));
  51. }
  52. }
  53. public final native int size() /*-{
  54. return this.length;
  55. }-*/;
  56. }