package biz.policy.price.outline;
|
|
import java.util.Iterator;
|
import java.util.LinkedList;
|
import java.util.Queue;
|
|
import biz.policy.price.OnsiteLine;
|
import foundation.json.IJSONProvider;
|
import foundation.json.IJSONWriter;
|
|
public class OnsiteUpdateList implements Iterable<OnsiteUpdateRecord>, IJSONProvider {
|
|
private int max;
|
private Queue<OnsiteUpdateRecord> items;
|
|
public OnsiteUpdateList() {
|
items = new LinkedList<OnsiteUpdateRecord>();
|
max = 10;
|
}
|
|
public OnsiteUpdateRecord loadOne(OnsiteLine onsiteLine) {
|
OnsiteUpdateRecord record = new OnsiteUpdateRecord(onsiteLine);
|
|
if (items.size() >= max) {
|
items.poll();
|
}
|
|
items.add(record);
|
return record;
|
}
|
|
@Override
|
public void writeJSON(IJSONWriter writer) {
|
writer.beginArray();
|
|
for (OnsiteUpdateRecord record: items) {
|
record.writeJSON(writer);
|
}
|
|
writer.endArray();
|
}
|
|
@Override
|
public Iterator<OnsiteUpdateRecord> iterator() {
|
return items.iterator();
|
}
|
|
}
|