Class UnmodifiableQueue<E>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.Queue<E>, Unmodifiable

    public final class UnmodifiableQueue<E>
    extends AbstractQueueDecorator<E>
    implements Unmodifiable
    Decorates another Queue to ensure it can't be altered.

    Attempts to modify it will result in an UnsupportedOperationException.

    Since:
    4.0
    Version:
    $Id: UnmodifiableQueue.java 1686855 2015-06-22 13:00:27Z tn $
    See Also:
    Serialized Form
    • Method Detail

      • unmodifiableQueue

        public static <E> java.util.Queue<E> unmodifiableQueue​(java.util.Queue<? extends E> queue)
        Factory method to create an unmodifiable queue.

        If the queue passed in is already unmodifiable, it is returned.

        Type Parameters:
        E - the type of the elements in the queue
        Parameters:
        queue - the queue to decorate, must not be null
        Returns:
        an unmodifiable Queue
        Throws:
        java.lang.NullPointerException - if queue is null
      • iterator

        public java.util.Iterator<E> iterator()
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
        Overrides:
        iterator in class AbstractCollectionDecorator<E>
      • add

        public boolean add​(java.lang.Object object)
        Specified by:
        add in interface java.util.Collection<E>
        Specified by:
        add in interface java.util.Queue<E>
        Overrides:
        add in class AbstractCollectionDecorator<E>
      • addAll

        public boolean addAll​(java.util.Collection<? extends E> coll)
        Specified by:
        addAll in interface java.util.Collection<E>
        Overrides:
        addAll in class AbstractCollectionDecorator<E>
      • remove

        public boolean remove​(java.lang.Object object)
        Specified by:
        remove in interface java.util.Collection<E>
        Overrides:
        remove in class AbstractCollectionDecorator<E>
      • removeAll

        public boolean removeAll​(java.util.Collection<?> coll)
        Specified by:
        removeAll in interface java.util.Collection<E>
        Overrides:
        removeAll in class AbstractCollectionDecorator<E>
      • retainAll

        public boolean retainAll​(java.util.Collection<?> coll)
        Specified by:
        retainAll in interface java.util.Collection<E>
        Overrides:
        retainAll in class AbstractCollectionDecorator<E>