/**
* Copyright (c) 2009, iPlant Collaborative, Texas Advanced Computing Center
* This software is licensed under the CC-GNU GPL version 2.0 or later.
* License: http://creativecommons.org/licenses/GPL/2.0/
*/
package org.iplantc.phyloviewer.client.tree.viewer.model;
import java.util.AbstractList;
import com.google.gwt.core.client.JavaScriptObject;
import com.google.gwt.core.client.JsArray;
/**
* Wraps a JsArray in a List implementation, for Collections goodness
*/
public class NodeList extends AbstractList<JsNode> {
private final JsArray<JavaScriptObject> jsArray;
public NodeList(JsArray<JavaScriptObject> jsArray) {
this.jsArray = jsArray;
}
@Override
public JsNode get(int index) {
return (JsNode) this.jsArray.get(index);
}
@Override
public JsNode set(int index, JsNode element) {
JsNode prev = this.get(index);
jsArray.set(index, element);
return prev;
}
@Override
public int size() {
return jsArray.length();
}
}