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