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:
 Iterable<T>
public class ManagedConcurrentLinkedQueue<T> extends Object implements 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.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.List<T>values()Returns a list containing all values from this queue in the sequence they were added.- 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait 
- 
Methods inherited from interface java.lang.Iterable
forEach, spliterator 
 - 
 
 - 
 
- 
- 
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 List<T> values()
Returns a list containing all values from this queue in the sequence they were added. 
 - 
 
 -