Class PriorityCollection<E extends PriorityAware>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- org.apache.activemq.artemis.utils.collections.PriorityCollection<E>
-
- Type Parameters:
E- The type this class may hold, this is generic as can be anything that extends PriorityAware.
- All Implemented Interfaces:
java.lang.Iterable<E>,java.util.Collection<E>
public class PriorityCollection<E extends PriorityAware> extends java.util.AbstractCollection<E>This class's purpose is to hold the the different collections used for each priority level. A supplier is required to provide the underlying collection needed when a new priority level is seen, and the end behaviour is that of the underlying collection, e.g. if set add will follow set's add semantics, if list, then list semantics. Methods getArray, setArray MUST never be exposed, and all array modifications must go through these.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classPriorityCollection.PriorityHolder<E>
-
Constructor Summary
Constructors Constructor Description PriorityCollection(java.util.function.Supplier<java.util.Collection<E>> supplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanadd(E e)booleanaddAll(java.util.Collection<? extends E> c)voidclear()booleancontains(java.lang.Object o)booleancontains(PriorityAware priorityAware)booleancontainsAll(java.util.Collection<?> c)voidforEach(java.util.function.Consumer<? super E> action)java.util.Set<java.lang.Integer>getPriorites()booleanisEmpty()java.util.Iterator<E>iterator()booleanremove(java.lang.Object o)booleanremoveAll(java.util.Collection<?> c)ResettableIterator<E>resettableIterator()booleanretainAll(java.util.Collection<?> c)intsize()
-
-
-
Constructor Detail
-
PriorityCollection
public PriorityCollection(java.util.function.Supplier<java.util.Collection<E>> supplier)
-
-
Method Detail
-
size
public int size()
- Specified by:
sizein interfacejava.util.Collection<E extends PriorityAware>- Specified by:
sizein classjava.util.AbstractCollection<E extends PriorityAware>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
isEmptyin classjava.util.AbstractCollection<E extends PriorityAware>
-
getPriorites
public java.util.Set<java.lang.Integer> getPriorites()
-
iterator
public java.util.Iterator<E> iterator()
- Specified by:
iteratorin interfacejava.util.Collection<E extends PriorityAware>- Specified by:
iteratorin interfacejava.lang.Iterable<E extends PriorityAware>- Specified by:
iteratorin classjava.util.AbstractCollection<E extends PriorityAware>
-
resettableIterator
public ResettableIterator<E> resettableIterator()
-
forEach
public void forEach(java.util.function.Consumer<? super E> action)
-
add
public boolean add(E e)
- Specified by:
addin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
addin classjava.util.AbstractCollection<E extends PriorityAware>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
removein interfacejava.util.Collection<E extends PriorityAware>- Overrides:
removein classjava.util.AbstractCollection<E extends PriorityAware>
-
containsAll
public boolean containsAll(java.util.Collection<?> c)
- Specified by:
containsAllin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
containsAllin classjava.util.AbstractCollection<E extends PriorityAware>
-
addAll
public boolean addAll(java.util.Collection<? extends E> c)
- Specified by:
addAllin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
addAllin classjava.util.AbstractCollection<E extends PriorityAware>
-
removeAll
public boolean removeAll(java.util.Collection<?> c)
- Specified by:
removeAllin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
removeAllin classjava.util.AbstractCollection<E extends PriorityAware>
-
retainAll
public boolean retainAll(java.util.Collection<?> c)
- Specified by:
retainAllin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
retainAllin classjava.util.AbstractCollection<E extends PriorityAware>
-
clear
public void clear()
- Specified by:
clearin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
clearin classjava.util.AbstractCollection<E extends PriorityAware>
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
containsin interfacejava.util.Collection<E extends PriorityAware>- Overrides:
containsin classjava.util.AbstractCollection<E extends PriorityAware>
-
contains
public boolean contains(PriorityAware priorityAware)
-
-