| Queue.java |
/***************************************
* *
* JBoss: The OpenSource J2EE WebOS *
* *
* Distributable under LGPL license. *
* See terms of license at gnu.org. *
* *
***************************************/
package org.jboss.util.collection;
import java.util.Collection;
/**
* An iterface used to implement a first-in, first-out container.
*
* @version <tt>$Revision: 1.1 $</tt>
* @author <a href="mailto:jason@planet57.com">Jason Dillon</a>
*/
public interface Queue
extends Collection
{
/** Unlimited maximum queue size identifier. */
int UNLIMITED_MAXIMUM_SIZE = -1;
/**
* Get the maximum size of the queue.
*
* @return Maximum pool size or {@link #UNLIMITED_MAXIMUM_SIZE}.
*/
int getMaximumSize();
/**
* Set the maximum size of the queue.
*
* @param size New maximim pool size or {@link #UNLIMITED_MAXIMUM_SIZE}.
*
* @exception IllegalArgumentException Illegal size.
*/
void setMaximumSize(int size) throws IllegalArgumentException;
/**
* Check if the queue is full.
*
* @return True if the queue is full.
*/
boolean isFull();
/**
* Check if the queue is empty.
*
* @return True if the queue is empty.
*/
boolean isEmpty();
/**
* Enqueue an object onto the queue.
*
* @param obj Object to enqueue.
* @return True if collection was modified.
*
* @exception FullCollectionException The queue is full.
*/
boolean add(Object obj) throws FullCollectionException;
/**
* Dequeue an object from the queue.
*
* @return Dequeued object.
*
* @exception EmptyCollectionException The queue is empty.
*/
Object remove() throws EmptyCollectionException;
/**
* Get the object at the front of the queue.
*
* @return Object at the front of the queue.
*
* @exception EmptyCollectionException The queue is empty.
*/
Object getFront() throws EmptyCollectionException;
/**
* Get the object at the back of the queue.
*
* @return Object at the back of the queue.
*
* @exception EmptyCollectionException The queue is empty.
*/
Object getBack() throws EmptyCollectionException;
}
| Queue.java |