Package org.eclipse.epsilon.common.util
Class SizeCachingConcurrentQueue<E>
java.lang.Object
java.util.AbstractCollection<E>
java.util.AbstractQueue<E>
java.util.concurrent.ConcurrentLinkedQueue<E>
org.eclipse.epsilon.common.util.SizeCachingConcurrentQueue<E>
- Type Parameters:
E
-
- All Implemented Interfaces:
Serializable
,Iterable<E>
,Collection<E>
,Queue<E>
A
ConcurrentLinkedQueue
wrapper which supports null
values
using a constant wrapper in place of null elements. This implementation caches
the size and updates it when structurally modified to avoid the issue outlined
in Java Specialists Issue 261.- Since:
- 1.6
- Author:
- Sina Madani
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.util.concurrent.ConcurrentLinkedQueue
add, clear, forEach, isEmpty, removeAll, removeIf, retainAll, spliterator, toArray, toArray, toString
Methods inherited from class java.util.AbstractQueue
element, remove
Methods inherited from class java.util.AbstractCollection
containsAll
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
containsAll, parallelStream, stream, toArray
-
Field Details
-
NULL
-
size
-
offerSuper
-
-
Constructor Details
-
SizeCachingConcurrentQueue
public SizeCachingConcurrentQueue() -
SizeCachingConcurrentQueue
-
-
Method Details
-
replaceWithNull
-
convertToNull
-
peek
-
poll
-
offer
-
addAll
- Specified by:
addAll
in interfaceCollection<E>
- Overrides:
addAll
in classConcurrentLinkedQueue<E>
-
remove
- Specified by:
remove
in interfaceCollection<E>
- Overrides:
remove
in classConcurrentLinkedQueue<E>
-
size
public int size()- Specified by:
size
in interfaceCollection<E>
- Overrides:
size
in classConcurrentLinkedQueue<E>
-
iterator
- Specified by:
iterator
in interfaceCollection<E>
- Specified by:
iterator
in interfaceIterable<E>
- Overrides:
iterator
in classConcurrentLinkedQueue<E>
-
contains
- Specified by:
contains
in interfaceCollection<E>
- Overrides:
contains
in classConcurrentLinkedQueue<E>
-
equals
- Specified by:
equals
in interfaceCollection<E>
- Overrides:
equals
in classObject
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfaceCollection<E>
- Overrides:
hashCode
in classObject
-