package java.util.concurrent; import java.util.*; /** * An unbounded queue in which elements cannot be taken until * their indicated delays have elapsed. **/ public class DelayQueue extends AbstractCollection implements BlockingQueue, java.io.Serializable { public DelayQueue() {} /** * Add the given element to the queue, to be taken after the given delay. * @param unit the time to delay * @param unit the granularity of the time unit * @param x the element */ public boolean add(long delay, TimeUnit granularity, E x) { return false; } /** * Return the time until the given element may be taken, * in the requested time granularity. * @param element the element * @param granularity the time granularity * @throws NoSuchElementException if element not present */ public long getDelay(E element, TimeUnit granularity) { return 0; } /** * Return the time until the earliest element may be taken, * in the requested time granularity. * @param granularity the time granularity * @throws NoSuchElementException if empty */ public long getEarliestDelay(TimeUnit granularity) { return 0; } /** * Equivalent to add(0, [any time unit], x). **/ public void put(E x) { } /** * Equivalent to add(0, [any time unit], x). **/ public boolean offer(E x, long time, TimeUnit granularity) { return false; } /** * Equivalent to add(0, [any time unit], x). **/ public boolean add(E x) { return false; } /** * Equivalent to add(0, [any time unit], x). **/ public boolean offer(E x) { return false; } public E take() throws InterruptedException { return null; } public E remove() { return null; } public Iterator iterator() { return null; } public boolean remove(Object x) { return false; } public E element() { return null; } public E poll() { return null; } public E poll(long time, TimeUnit granularity) throws InterruptedException { return null; } public E peek() { return null; } public boolean isEmpty() { return false; } public int size() { return 0; } public Object[] toArray() { return null; } public T[] toArray(T[] array) { return null; } }