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 WorkingApproveStepList implements Iterable<WorkingApproveStep>, IJSONProvider {
|
|
private MapList<String, WorkingApproveStep> items;
|
private MapList<String, WorkingApproveStep> executeItems;
|
|
|
public WorkingApproveStepList() {
|
items = new MapList<String, WorkingApproveStep>();
|
executeItems = new MapList<String, WorkingApproveStep>();
|
}
|
|
public void loadOne(WorkingApproveStep step) {
|
items.add(step.getId(), step);
|
|
if (!step.isCopy()) {
|
executeItems.add(step.getId(), step);
|
}
|
}
|
|
public WorkingApproveStep get(String id) {
|
return items.get(id);
|
}
|
|
public WorkingApproveStep get(int idx) {
|
return items.get(idx);
|
}
|
|
public int size() {
|
return items.size();
|
}
|
|
public int actualSize() {
|
return executeItems.size();
|
}
|
|
public WorkingApproveStep getLast() {
|
if (items.isEmpty()) {
|
return null;
|
}
|
|
int idx = items.size() - 1;
|
return items.get(idx);
|
}
|
|
public List<WorkingApproveStep> getList() {
|
return items.getItemList();
|
}
|
|
@Override
|
public Iterator<WorkingApproveStep> iterator() {
|
return items.iterator();
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
writer.beginArray();
|
|
for (WorkingApproveStep step: items) {
|
step.writeJSON(writer);
|
}
|
|
writer.endArray();
|
}
|
|
public void writeJSONBody(IJSONWriter writer) {
|
for (WorkingApproveStep step: items) {
|
step.writeJSON(writer);
|
}
|
}
|
|
}
|