Package com.gargoylesoftware.base.trace
Class BlockingCircularQueue
java.lang.Object
com.gargoylesoftware.base.trace.BlockingCircularQueue
- All Implemented Interfaces:
Serializable
Internal use only.
.A circular queue with blocking semantics.
- Version:
- $Revision: 1.7 $
- See Also:
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionCreate the queue with a capacity of 20BlockingCircularQueue
(int capacity) Create the queue with the specified capacity -
Method Summary
Modifier and TypeMethodDescriptionboolean
Add an object to the queue.protected final void
assertNotNull
(String fieldName, Object fieldValue) Verify that the specified value is not null.void
clear()
Remove all items from the queueprivate int
incrementPosition
(int position) Utility method to increment the position and roll back to zero once we hit the end.boolean
isEmpty()
Return true if the collection is empty.next()
Return the next item in the queue.int
size()
Return the number of objects currently in the collection.toString()
Return a string representation of this object.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
getLock_
-
addLock_
-
queue_
-
capacity_
private final int capacity_ -
size_
private int size_ -
front_
private int front_ -
back_
private int back_
-
-
Constructor Details
-
BlockingCircularQueue
public BlockingCircularQueue()Create the queue with a capacity of 20 -
BlockingCircularQueue
public BlockingCircularQueue(int capacity) Create the queue with the specified capacity- Parameters:
capacity
- The size of the queue
-
-
Method Details
-
clear
public void clear()Remove all items from the queue -
add
Add an object to the queue. If the collection is currently full then block until an object is removed.- Parameters:
object
- The object to add.- Returns:
- true if the object was successfully added.
-
next
Return the next item in the queue. The returned item is removed from the collection. If no objects are present then block until an object has been added.- Returns:
- The next item.
-
incrementPosition
private int incrementPosition(int position) Utility method to increment the position and roll back to zero once we hit the end. Return the new position after the adjustment.- Parameters:
position
- The position to increment- Returns:
- the new position
-
size
public int size()Return the number of objects currently in the collection.- Returns:
- The object count.
-
isEmpty
public boolean isEmpty()Return true if the collection is empty.- Returns:
- true if the collection is empty.
-
toString
Return a string representation of this object. -
assertNotNull
protected final void assertNotNull(String fieldName, Object fieldValue) throws DetailedNullPointerException Verify that the specified value is not null. If it is then throw an exception- Parameters:
fieldName
- The name of the field to checkfieldValue
- The value of the field to check- Throws:
DetailedNullPointerException
- If fieldValue is null
-