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>
-
Field Summary
Fields inherited from class org.apache.commons.collections4.collection.PredicatedCollection
predicate
-
Constructor Summary
ModifierConstructorDescriptionprotected
PredicatedQueue
(Queue<E> queue, Predicate<? super E> predicate) Constructor that wraps (not copies). -
Method Summary
Modifier and TypeMethodDescriptionGets the queue being decorated.element()
boolean
Override 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, predicatedCollection, validate
Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator
clear, contains, containsAll, isEmpty, iterator, remove, removeAll, removeIf, retainAll, setCollection, size, 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
addAll, clear, contains, containsAll, equals, hashCode, isEmpty, iterator, parallelStream, remove, removeAll, removeIf, retainAll, size, spliterator, stream, toArray, toArray
-
Constructor Details
-
PredicatedQueue
Constructor that wraps (not copies).If there are any elements already in the collection being decorated, they are validated.
- Parameters:
queue
- the queue to decorate, must not be nullpredicate
- the predicate to use for validation, must not be null- Throws:
NullPointerException
- if queue or predicate is nullIllegalArgumentException
- if the Queue contains invalid elements
-
-
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
-
decorated
Gets the queue being decorated.- Overrides:
decorated
in classAbstractCollectionDecorator<E>
- Returns:
- the decorated queue
-
element
-
offer
Override to validate the object being added to ensure it matches the predicate.- Specified by:
offer
in interfaceQueue<E>
- Parameters:
object
- the object being added- Returns:
- the result of adding to the underlying queue
- Throws:
IllegalArgumentException
- if the add is invalid
-
peek
-
poll
-
remove
-