com.ibm.ras
Class RASCircularQueuejava.lang.Object | +--com.ibm.ras.RASCircularQueue
- All Implemented Interfaces:
- RASIQueue
- public class RASCircularQueue
- extends java.lang.Object
- implements RASIQueue
RASCircularQueue is a circular queue for RAS events. When the queue fills, the next RAS event replaces the oldest event already in the queue.
- See Also:
- RASIQueue, RASQueue
Field Summary static int DEFAULT_QUEUE_SIZE
The default queue size (10,000).
Constructor Summary RASCircularQueue()
Creates a RASCircularQueue, whose size is defined by DEFAULT_QUEUE_SIZE.RASCircularQueue(int size)
Creates a RASCircularQueue.
Method Summary java.lang.Object dequeue()
Removes an object from the beginning of the queue.void enqueue(java.lang.Object object)
Adds an object to the end of the queue.java.lang.Object firstObject()
Returns the first object on the queue, but does not remove it from the queue.int getMaximumQueueSize()
Gets the maximum number of objects which this queue will hold.int getQueueSize()
Gets the current number of objects in this queue.boolean isCircular()
Determines if the queue is circular.boolean isEmpty()
Determines if the queue is empty.boolean isFull()
Determines if the queue is full.void requeue(java.lang.Object object)
Returns an object to the front of the queue.
Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Field Detail DEFAULT_QUEUE_SIZE
public static final int DEFAULT_QUEUE_SIZE
- The default queue size (10,000).
- See Also:
- Constant Field Values
Constructor Detail RASCircularQueue
public RASCircularQueue()
- Creates a RASCircularQueue, whose size is defined by DEFAULT_QUEUE_SIZE.
RASCircularQueue
public RASCircularQueue(int size) throws java.lang.IllegalArgumentException
- Creates a RASCircularQueue.
- Parameters:
- size - The number of objects that this queue can hold. If the size is zero, the queue size is set to DEFAULT_QUEUE_SIZE.
- Throws:
- java.lang.IllegalArgumentException - This exception is thrown if the size parameter is less than zero.
Method Detail getQueueSize
public int getQueueSize()
- Gets the current number of objects in this queue.
- Specified by:
- getQueueSize in interface RASIQueue
- Returns:
- The current queue size.
getMaximumQueueSize
public int getMaximumQueueSize()
- Gets the maximum number of objects which this queue will hold.
- Specified by:
- getMaximumQueueSize in interface RASIQueue
- Returns:
- The maximum queue size.
isEmpty
public boolean isEmpty()
- Determines if the queue is empty.
- Specified by:
- isEmpty in interface RASIQueue
- Returns:
- true if the queue is empty or false otherwise.
isFull
public boolean isFull()
- Determines if the queue is full.
- Specified by:
- isFull in interface RASIQueue
- Returns:
- true if the queue is full or false otherwise. (This queue always returns false.)
isCircular
public boolean isCircular()
- Determines if the queue is circular. A circular queue always accepts new objects. If all slots are full, a new object replaces the oldest object in the queue.
- Specified by:
- isCircular in interface RASIQueue
- Returns:
- true if this queue is circular, or false otherwise. (This queue always returns true.)
enqueue
public void enqueue(java.lang.Object object) throws RASQueueFullException
- Adds an object to the end of the queue. If the object is null, nothing is enqueued.
- Specified by:
- enqueue in interface RASIQueue
- Parameters:
- object - The object to be placed on the queue.
- Throws:
- RASQueueFullException - This exception is thrown if the queue is full.
dequeue
public java.lang.Object dequeue() throws RASQueueEmptyException
- Removes an object from the beginning of the queue.
- Specified by:
- dequeue in interface RASIQueue
- Returns:
- The first object in the queue.
- Throws:
- RASQueueEmptyException - This exception is thrown if the queue is empty.
requeue
public void requeue(java.lang.Object object) throws java.lang.IllegalStateException
- Returns an object to the front of the queue. If the object is null, nothing is enqueued.
- Specified by:
- requeue in interface RASIQueue
- Parameters:
- object - The object to be placed on the queue.
- Throws:
- java.lang.IllegalStateException - This exception is always thrown because there is no way to reliably add an object to the beginning of a circular queue if objects are added and removed via enqueue and dequeue. See RASQueue.requeue.
firstObject
public java.lang.Object firstObject() throws RASQueueEmptyException
- Returns the first object on the queue, but does not remove it from the queue.
- Specified by:
- firstObject in interface RASIQueue
- Returns:
- The first object in the queue.
- Throws:
- RASQueueEmptyException - This exception is thrown if the queue is empty.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.