1 package com.atlassian.core.task; 2 3 import org.apache.commons.collections.Buffer; 4 import org.apache.commons.collections.BufferUtils; 5 import org.apache.commons.collections.buffer.UnboundedFifoBuffer; 6 7 import java.util.Collection; 8 9 public class LocalFifoBuffer implements FifoBuffer 10 { 11 private Buffer buffer = BufferUtils.synchronizedBuffer(new UnboundedFifoBuffer()); 12 13 public synchronized Object remove() 14 { 15 if (!buffer.isEmpty()) 16 return buffer.remove(); 17 else 18 return null; 19 } 20 21 public void add(Object o) 22 { 23 buffer.add(o); 24 } 25 26 public int size() 27 { 28 return buffer.size(); 29 } 30 31 public Collection getItems() 32 { 33 return buffer; 34 } 35 36 public void clear() 37 { 38 buffer.clear(); 39 } 40 }