Package org.codehaus.groovy.util
Class ManagedConcurrentLinkedQueue<T>
- java.lang.Object
-
- org.codehaus.groovy.util.ManagedConcurrentLinkedQueue<T>
-
- Type Parameters:
T- the type of values to store
- All Implemented Interfaces:
java.lang.Iterable<T>
public class ManagedConcurrentLinkedQueue<T> extends java.lang.Object implements java.lang.Iterable<T>A queue that stores values wrapped in a Reference, the type of which is determined by the providedReferenceBundle. References stored in this queue will be removed when reference processing occurs.This queue is backed by a
ConcurrentLinkedQueueand is thread safe. The iterator will only return non-null values (reachable) and is based on the "weakly consistent" iterator of the underlyingConcurrentLinkedQueue.
-
-
Constructor Summary
Constructors Constructor Description ManagedConcurrentLinkedQueue(ReferenceBundle bundle)Creates an empty ManagedConcurrentLinkedQueue that will use the providedReferenceBundleto store values as the given Reference type.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(T value)Adds the specified value to the queue.booleanisEmpty()Returnstrueif this queue contains no elements.java.util.Iterator<T>iterator()Returns an iterator over all non-null values in this queue.T[]toArray(T[] tArray)Returns an array containing all values from this queue in the sequence they were added.java.util.List<T>values()Returns a list containing all values from this queue in the sequence they were added.
-
-
-
Constructor Detail
-
ManagedConcurrentLinkedQueue
public ManagedConcurrentLinkedQueue(ReferenceBundle bundle)
Creates an empty ManagedConcurrentLinkedQueue that will use the providedReferenceBundleto store values as the given Reference type.- Parameters:
bundle- used to create the appropriate Reference type for the values stored
-
-
Method Detail
-
add
public void add(T value)
Adds the specified value to the queue.- Parameters:
value- the value to add
-
isEmpty
public boolean isEmpty()
Returnstrueif this queue contains no elements.This method does not check the elements to verify they contain non-null reference values.
-
toArray
public T[] toArray(T[] tArray)
Returns an array containing all values from this queue in the sequence they were added.- Parameters:
tArray- the array to populate if big enough, else a new array with the same runtime type- Returns:
- an array containing all non-null values in this queue
-
values
public java.util.List<T> values()
Returns a list containing all values from this queue in the sequence they were added.
-
-