package frame.object.data;
|
|
import java.util.ArrayList;
|
import java.util.HashMap;
|
import java.util.Iterator;
|
import java.util.List;
|
import java.util.Map;
|
|
public class ObjectList<T> implements Iterable<T> {
|
|
private List<T> itemList;
|
private Map<String, T> itemMap;
|
|
public ObjectList() {
|
itemList = new ArrayList<T>();
|
itemMap = new HashMap<String, T>();
|
}
|
|
public void add(String id, T object) throws Exception {
|
if (id == null) {
|
throw new Exception("id is empty");
|
}
|
|
itemList.add(object);
|
itemMap.put(id, object);
|
}
|
|
public T get(String id) {
|
return itemMap.get(id);
|
}
|
|
public T get(int idx) {
|
return itemList.get(idx);
|
}
|
|
public int size() {
|
return itemList.size();
|
}
|
|
@Override
|
public Iterator<T> iterator() {
|
return itemList.iterator();
|
}
|
|
}
|