package foundation.state.approve; import java.util.Iterator; import java.util.List; import foundation.json.IJSONProvider; import foundation.json.IJSONWriter; import foundation.util.MapList; public class WorkingStepList implements Iterable, IJSONProvider { private MapList items; public WorkingStepList() { items = new MapList(); } public void loadOne(WorkingStep step) { items.add(step.getId(), step); } public WorkingStep get(String id) { return items.get(id); } public WorkingStep get(int idx) { return items.get(idx); } public int size() { return items.size(); } public WorkingStep getLast() { if (items.isEmpty()) { return null; } int idx = items.size() - 1; return items.get(idx); } public List getList() { return items.getItemList(); } @Override public Iterator iterator() { return items.iterator(); } @Override public void writeJSON(IJSONWriter writer) { writer.beginArray(); for (WorkingStep step: items) { step.writeJSON(writer); } writer.endArray(); } public void writeJSONBody(IJSONWriter writer) { for (WorkingStep step: items) { step.writeJSON(writer); } } }