package com.nostra13.universalimageloader.core.assist.deque; import java.util.NoSuchElementException; /** * {@link LinkedBlockingDeque} using LIFO algorithm * * @author Sergey Tarasevich (nostra13[at]gmail[dot]com) * @since 1.6.3 */ public class LIFOLinkedBlockingDeque<T> extends LinkedBlockingDeque<T> { private static final long serialVersionUID = -4114786347960826192L; /** * Inserts the specified element at the front of this deque if it is possible to do so immediately without violating * capacity restrictions, returning <tt>true</tt> upon success and <tt>false</tt> if no space is currently * available. When using a capacity-restricted deque, this method is generally preferable to the {@link #addFirst * addFirst} method, which can fail to insert an element only by throwing an exception. * * @param e * the element to add * @throws ClassCastException * {@inheritDoc} * @throws NullPointerException * if the specified element is null * @throws IllegalArgumentException * {@inheritDoc} */ @Override public boolean offer(T e) { return super.offerFirst(e); } /** * Retrieves and removes the first element of this deque. This method differs from {@link #pollFirst pollFirst} only * in that it throws an exception if this deque is empty. * * @return the head of this deque * @throws NoSuchElementException * if this deque is empty */ @Override public T remove() { return super.removeFirst(); } }