Class UnmodifiableQueue<E>

  • Type Parameters:
    E - the type of elements held in this queue
    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
    See Also:
    Serialized Form
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static long serialVersionUID
      Serialization version
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private UnmodifiableQueue​(java.util.Queue<? extends E> queue)
      Constructor that wraps (not copies).
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean add​(java.lang.Object object)  
      boolean addAll​(java.util.Collection<? extends E> coll)  
      void clear()  
      java.util.Iterator<E> iterator()  
      boolean offer​(E obj)  
      E poll()  
      private void readObject​(java.io.ObjectInputStream in)
      Read the collection in using a custom routine.
      E remove()  
      boolean remove​(java.lang.Object object)  
      boolean removeAll​(java.util.Collection<?> coll)  
      boolean removeIf​(java.util.function.Predicate<? super E> filter)  
      boolean retainAll​(java.util.Collection<?> coll)  
      static <E> java.util.Queue<E> unmodifiableQueue​(java.util.Queue<? extends E> queue)
      Factory method to create an unmodifiable queue.
      private void writeObject​(java.io.ObjectOutputStream out)
      Write the collection out using a custom routine.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Collection

        contains, containsAll, equals, hashCode, isEmpty, parallelStream, size, spliterator, stream, toArray, toArray, toArray
      • Methods inherited from interface java.lang.Iterable

        forEach
    • Field Detail

      • serialVersionUID

        private static final long serialVersionUID
        Serialization version
        See Also:
        Constant Field Values
    • Constructor Detail

      • UnmodifiableQueue

        private UnmodifiableQueue​(java.util.Queue<? extends E> queue)
        Constructor that wraps (not copies).
        Parameters:
        queue - the queue to decorate, must not be null
        Throws:
        java.lang.NullPointerException - if queue is null
    • 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
      • writeObject

        private void writeObject​(java.io.ObjectOutputStream out)
                          throws java.io.IOException
        Write the collection out using a custom routine.
        Parameters:
        out - the output stream
        Throws:
        java.io.IOException - if an I/O error occurs while writing to the output stream
      • readObject

        private void readObject​(java.io.ObjectInputStream in)
                         throws java.io.IOException,
                                java.lang.ClassNotFoundException
        Read the collection in using a custom routine.
        Parameters:
        in - the input stream
        Throws:
        java.io.IOException - if an I/O error occurs while reading from the input stream
        java.lang.ClassNotFoundException - if the class of a serialized object can not be found
      • 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>
      • removeIf

        public boolean removeIf​(java.util.function.Predicate<? super E> filter)
        Specified by:
        removeIf in interface java.util.Collection<E>
        Overrides:
        removeIf in class AbstractCollectionDecorator<E>
        Since:
        4.4
      • 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>