1e3f6868dac3b4c4714637d12b93d97823011a35cshowardpackage autotest.common; 21c8c2215e525de8813c375e796354f8ffb811a08showard 31c8c2215e525de8813c375e796354f8ffb811a08showardimport com.google.gwt.json.client.JSONArray; 41c8c2215e525de8813c375e796354f8ffb811a08showardimport com.google.gwt.json.client.JSONValue; 51c8c2215e525de8813c375e796354f8ffb811a08showard 61c8c2215e525de8813c375e796354f8ffb811a08showardimport java.util.AbstractList; 71c8c2215e525de8813c375e796354f8ffb811a08showard 81c8c2215e525de8813c375e796354f8ffb811a08showard/** 91c8c2215e525de8813c375e796354f8ffb811a08showard * Wraps a JSONArray in a handy-dandy java.util.List interface. 101c8c2215e525de8813c375e796354f8ffb811a08showard */ 116bc47015cce0ebc2fc255d3950bfeaf4851f36fdshowardpublic class JSONArrayList<T extends JSONValue> extends AbstractList<T> { 12b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward private JSONArray backingArray; 13b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward 14b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward public JSONArrayList() { 15b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward backingArray = new JSONArray(); 16b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward } 171c8c2215e525de8813c375e796354f8ffb811a08showard 181c8c2215e525de8813c375e796354f8ffb811a08showard public JSONArrayList(JSONArray array) { 191c8c2215e525de8813c375e796354f8ffb811a08showard backingArray = array; 201c8c2215e525de8813c375e796354f8ffb811a08showard } 211c8c2215e525de8813c375e796354f8ffb811a08showard 226bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward @Override 236bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward public void add(int index, T object) { 241c8c2215e525de8813c375e796354f8ffb811a08showard backingArray.set(index, object); 251c8c2215e525de8813c375e796354f8ffb811a08showard } 261c8c2215e525de8813c375e796354f8ffb811a08showard 276bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward @SuppressWarnings("unchecked") 286bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward @Override 296bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward public T get(int index) { 306bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward return (T) backingArray.get(index); 311c8c2215e525de8813c375e796354f8ffb811a08showard } 321c8c2215e525de8813c375e796354f8ffb811a08showard 331c8c2215e525de8813c375e796354f8ffb811a08showard // JSONArrays don't directly support this 346bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward @Override 356bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward public T remove(int arg0) { 361c8c2215e525de8813c375e796354f8ffb811a08showard throw new UnsupportedOperationException(); 371c8c2215e525de8813c375e796354f8ffb811a08showard } 381c8c2215e525de8813c375e796354f8ffb811a08showard 396bc47015cce0ebc2fc255d3950bfeaf4851f36fdshoward @Override 401c8c2215e525de8813c375e796354f8ffb811a08showard public int size() { 411c8c2215e525de8813c375e796354f8ffb811a08showard return backingArray.size(); 421c8c2215e525de8813c375e796354f8ffb811a08showard } 43b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward 44b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward public JSONArray getBackingArray() { 45b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward return backingArray; 46b9c6617bdc063b3b4aa760a0a45190ee069139fdshoward } 471c8c2215e525de8813c375e796354f8ffb811a08showard} 48