[Java] Class ManagedConcurrentLinkedQueue<T>
- org.codehaus.groovy.util.ManagedConcurrentLinkedQueue
- All Implemented Interfaces and Traits:
- Iterable
public class ManagedConcurrentLinkedQueue<T> extends Object implements Iterable
A queue that stores values wrapped in a Reference, the type of which is determined by the provided ReferenceBundle. References stored in this queue will be removed when reference processing occurs.
This queue is backed by a ConcurrentLinkedQueue and is thread safe. The iterator will only return non-null values (reachable) and is based on the "weakly consistent" iterator of the underlying ConcurrentLinkedQueue.
- Type Parameters:
-
T- the type of values to store
Constructor Summary
| Constructor and description |
|---|
ManagedConcurrentLinkedQueue
(ReferenceBundle bundle)Creates an empty ManagedConcurrentLinkedQueue that will use the provided ReferenceBundle to store values as the given Reference type. |
Methods Summary
| Type Params | Return Type | Name and description |
|---|---|---|
public void |
add(T value)Adds the specified value to the queue. | |
public boolean |
isEmpty()Returns true if this queue contains no elements. | |
public Iterator<T> |
iterator()Returns an iterator over all non-null values in this queue. | |
public T[] |
toArray(T[] tArray)Returns an array containing all values from this queue in the sequence they were added. | |
public List<T> |
values()Returns a list containing all values from this queue in the sequence they were added. |
Inherited Methods Summary
| Methods inherited from class | Name |
|---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public ManagedConcurrentLinkedQueue(ReferenceBundle bundle)
Creates an empty ManagedConcurrentLinkedQueue that will use the provided ReferenceBundle to store values as the given Reference type.
- Parameters:
-
bundle- used to create the appropriate Reference type for the values stored
Method Detail
public void add(T value)
Adds the specified value to the queue.
- Parameters:
-
value- the value to add
public boolean isEmpty()
Returns true if this queue contains no elements.
This method does not check the elements to verify they contain non-null reference values.
@Override public Iterator<T> iterator()
Returns an iterator over all non-null values in this queue. The values should be returned in the order they were added.
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
public List<T> values()
Returns a list containing all values from this queue in the sequence they were added.
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/util/ManagedConcurrentLinkedQueue.html