Class RingQueue<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractQueue<E>
-
- org.apache.qpid.protonj2.engine.util.RingQueue<E>
-
- Type Parameters:
E- the element type that is stored in thisQueuetype.
- All Implemented Interfaces:
Iterable<E>,Collection<E>,Queue<E>
public class RingQueue<E> extends AbstractQueue<E>
Simple Ring Queue implementation that has an enforced max size value.
-
-
Constructor Summary
Constructors Constructor Description RingQueue(int queueSize)Creates a newRingQueueinstance with the given fixed Queue size.RingQueue(Collection<E> collection)Creates a newRingQueueinstance with a size that matches the size of the givenCollectionand filled with the values from thatCollection.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaddAll(Collection<? extends E> c)voidclear()booleancontains(Object value)booleanisEmpty()Iterator<E>iterator()booleanoffer(E e)Epeek()Epoll()Epoll(Supplier<E> createOnEmpty)Retrieves and removes the head of this ring queue, and if the queue is currently empty a new instance of the queue type is provided by invoking the givenSupplier.booleanremove(Object o)booleanremoveAll(Collection<?> c)booleanretainAll(Collection<?> c)intsize()-
Methods inherited from class java.util.AbstractQueue
add, element, remove
-
Methods inherited from class java.util.AbstractCollection
containsAll, toArray, toArray, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
containsAll, equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray, toArray, toArray
-
-
-
-
Constructor Detail
-
RingQueue
public RingQueue(int queueSize)
Creates a newRingQueueinstance with the given fixed Queue size.- Parameters:
queueSize- The size to use for the ring queue.
-
RingQueue
public RingQueue(Collection<E> collection)
Creates a newRingQueueinstance with a size that matches the size of the givenCollectionand filled with the values from thatCollection.- Parameters:
collection- theCollectionwhose values populates thisRingQueueinstance.
-
-
Method Detail
-
offer
public boolean offer(E e)
-
poll
public E poll()
-
poll
public E poll(Supplier<E> createOnEmpty)
Retrieves and removes the head of this ring queue, and if the queue is currently empty a new instance of the queue type is provided by invoking the givenSupplier.
-
peek
public E peek()
-
addAll
public boolean addAll(Collection<? extends E> c)
- Specified by:
addAllin interfaceCollection<E>- Overrides:
addAllin classAbstractQueue<E>
-
remove
public boolean remove(Object o)
- Specified by:
removein interfaceCollection<E>- Overrides:
removein classAbstractCollection<E>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAllin interfaceCollection<E>- Overrides:
removeAllin classAbstractCollection<E>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAllin interfaceCollection<E>- Overrides:
retainAllin classAbstractCollection<E>
-
iterator
public Iterator<E> iterator()
- Specified by:
iteratorin interfaceCollection<E>- Specified by:
iteratorin interfaceIterable<E>- Specified by:
iteratorin classAbstractCollection<E>
-
size
public int size()
- Specified by:
sizein interfaceCollection<E>- Specified by:
sizein classAbstractCollection<E>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceCollection<E>- Overrides:
isEmptyin classAbstractCollection<E>
-
clear
public void clear()
- Specified by:
clearin interfaceCollection<E>- Overrides:
clearin classAbstractQueue<E>
-
contains
public boolean contains(Object value)
- Specified by:
containsin interfaceCollection<E>- Overrides:
containsin classAbstractCollection<E>
-
-