package com.google.code.joto.util; import java.util.Iterator; import org.apache.commons.collections.buffer.BoundedFifoBuffer; /** * a bounded buffer, that automatically remove first element, when adding new one and preventing overflow */ public class BoundedPurgeFifoBuffer<T> extends BoundedFifoBuffer { /** internal for java.io.Serializable */ private static final long serialVersionUID = 1L; // ------------------------------------------------------------------------ public BoundedPurgeFifoBuffer() { this(32); } public BoundedPurgeFifoBuffer(int maxElements) { super(maxElements); } // ------------------------------------------------------------------------ @Override public boolean add(Object element) { if (super.isFull()) { super.remove(); } return super.add(element); } @Override @SuppressWarnings("unchecked") public Iterator<T> iterator() { return (Iterator<T>) super.iterator(); } }