package chatty.util; import java.util.LinkedList; /** * * @author tduva * @param <T> */ public class RingBuffer<T> { private final int capacity; private final LinkedList<T> data; public RingBuffer(int capacity) { this.capacity = capacity; this.data = new LinkedList<>(); } public synchronized void add(T item) { data.addLast(item); if (data.size() > capacity) { data.removeFirst(); } } public synchronized LinkedList<T> getItems() { return new LinkedList<>(data); } }