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:
Iterable<E>
,Collection<E>
public class PriorityCollection<E extends PriorityAware> extends 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 class
PriorityCollection.PriorityHolder<E>
-
Constructor Summary
Constructors Constructor Description PriorityCollection(Supplier<Collection<E>> supplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
add(E e)
boolean
addAll(Collection<? extends E> c)
void
clear()
boolean
contains(Object o)
boolean
contains(PriorityAware priorityAware)
boolean
containsAll(Collection<?> c)
void
forEach(Consumer<? super E> action)
Set<Integer>
getPriorites()
boolean
isEmpty()
Iterator<E>
iterator()
boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
ResettableIterator<E>
resettableIterator()
boolean
retainAll(Collection<?> c)
int
size()
-
Methods inherited from class java.util.AbstractCollection
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
equals, hashCode, parallelStream, removeIf, spliterator, stream, toArray
-
-
-
-
Constructor Detail
-
PriorityCollection
public PriorityCollection(Supplier<Collection<E>> supplier)
-
-
Method Detail
-
size
public int size()
- Specified by:
size
in interfaceCollection<E extends PriorityAware>
- Specified by:
size
in classAbstractCollection<E extends PriorityAware>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceCollection<E extends PriorityAware>
- Overrides:
isEmpty
in classAbstractCollection<E extends PriorityAware>
-
iterator
public Iterator<E> iterator()
- Specified by:
iterator
in interfaceCollection<E extends PriorityAware>
- Specified by:
iterator
in interfaceIterable<E extends PriorityAware>
- Specified by:
iterator
in classAbstractCollection<E extends PriorityAware>
-
resettableIterator
public ResettableIterator<E> resettableIterator()
-
add
public boolean add(E e)
- Specified by:
add
in interfaceCollection<E extends PriorityAware>
- Overrides:
add
in classAbstractCollection<E extends PriorityAware>
-
remove
public boolean remove(Object o)
- Specified by:
remove
in interfaceCollection<E extends PriorityAware>
- Overrides:
remove
in classAbstractCollection<E extends PriorityAware>
-
containsAll
public boolean containsAll(Collection<?> c)
- Specified by:
containsAll
in interfaceCollection<E extends PriorityAware>
- Overrides:
containsAll
in classAbstractCollection<E extends PriorityAware>
-
addAll
public boolean addAll(Collection<? extends E> c)
- Specified by:
addAll
in interfaceCollection<E extends PriorityAware>
- Overrides:
addAll
in classAbstractCollection<E extends PriorityAware>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll
in interfaceCollection<E extends PriorityAware>
- Overrides:
removeAll
in classAbstractCollection<E extends PriorityAware>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll
in interfaceCollection<E extends PriorityAware>
- Overrides:
retainAll
in classAbstractCollection<E extends PriorityAware>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<E extends PriorityAware>
- Overrides:
clear
in classAbstractCollection<E extends PriorityAware>
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceCollection<E extends PriorityAware>
- Overrides:
contains
in classAbstractCollection<E extends PriorityAware>
-
contains
public boolean contains(PriorityAware priorityAware)
-
-