package com.smartandroid.sa.zUImageLoader.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(); } }