package org.wgrus;
import java.util.Arrays;
import java.util.List;
import java.util.Queue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.atomic.AtomicLong;
public class OrderQueue {
private static final int CAPACITY = 25;
private final AtomicLong count = new AtomicLong();
private Queue<String> queue = new LinkedBlockingQueue<String>(CAPACITY);
public synchronized void add(String order) {
if (queue.size() >= CAPACITY) {
queue.remove();
}
count.incrementAndGet();
queue.add(order);
}
public long count() {
return count.get();
}
public synchronized List<?> list() {
return Arrays.asList(this.queue.toArray());
}
}