Class PredicatedQueue<E>
java.lang.Object
org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
org.apache.commons.collections4.collection.PredicatedCollection<E>
org.apache.commons.collections4.queue.PredicatedQueue<E>
- Type Parameters:
E- the type of elements held in this queue
- All Implemented Interfaces:
Serializable,Iterable<E>,Collection<E>,Queue<E>
Decorates another
Queue to validate that additions
match a specified predicate.
This queue exists to provide validation for the decorated queue. It is normally created to decorate an empty queue. If an object cannot be added to the queue, an IllegalArgumentException is thrown.
One usage would be to ensure that no null entries are added to the queue.
Queue queue = PredicatedQueue.predicatedQueue(new UnboundedFifoQueue(), NotNullPredicate.INSTANCE);
- Since:
- 4.0
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.commons.collections4.collection.PredicatedCollection
PredicatedCollection.Builder<E> -
Method Summary
Modifier and TypeMethodDescriptionelement()booleanOverride to validate the object being added to ensure it matches the predicate.peek()poll()static <E> PredicatedQueue<E> predicatedQueue(Queue<E> Queue, Predicate<? super E> predicate) Factory method to create a predicated (validating) queue.remove()Methods inherited from class org.apache.commons.collections4.collection.PredicatedCollection
add, addAll, builder, notNullBuilder, predicatedCollectionMethods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator
clear, contains, containsAll, isEmpty, iterator, remove, removeAll, removeIf, retainAll, size, toArray, toArray, toStringMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray, toArray
-
Method Details
-
predicatedQueue
public static <E> PredicatedQueue<E> predicatedQueue(Queue<E> Queue, Predicate<? super E> predicate) Factory method to create a predicated (validating) queue.If there are any elements already in the queue being decorated, they are validated.
- Type Parameters:
E- the type of the elements in the queue- Parameters:
Queue- the queue to decorate, must not be nullpredicate- the predicate to use for validation, must not be null- Returns:
- a new predicated queue
- Throws:
NullPointerException- if queue or predicate is nullIllegalArgumentException- if the queue contains invalid elements
-
offer
Override to validate the object being added to ensure it matches the predicate.- Specified by:
offerin interfaceQueue<E>- Parameters:
object- the object being added- Returns:
- the result of adding to the underlying queue
- Throws:
IllegalArgumentException- if the add is invalid
-
poll
-
peek
-
element
-
remove
-