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