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, IJSONProvider { private int max; private Queue items; public PriceUpdateList() { items = new LinkedList(); 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 iterator() { return items.iterator(); } }