Class UnmodifiableBoundedCollection<E>

  • Type Parameters:
    E - the type of elements in this collection
    All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, BoundedCollection<E>, Unmodifiable

    public final class UnmodifiableBoundedCollection<E>
    extends AbstractCollectionDecorator<E>
    implements BoundedCollection<E>, Unmodifiable
    UnmodifiableBoundedCollection decorates another BoundedCollection to ensure it can't be altered.

    If a BoundedCollection is first wrapped in some other collection decorator, such as synchronized or predicated, the BoundedCollection methods are no longer accessible. The factory on this class will attempt to retrieve the bounded nature by examining the package scope variables.

    This class is Serializable from Commons Collections 3.1.

    Attempts to modify it will result in an UnsupportedOperationException.

    Since:
    3.0
    See Also:
    Serialized Form
    • Method Detail

      • unmodifiableBoundedCollection

        public static <E> BoundedCollection<E> unmodifiableBoundedCollection​(BoundedCollection<? extends E> coll)
        Factory method to create an unmodifiable bounded collection.
        Type Parameters:
        E - the type of the elements in the collection
        Parameters:
        coll - the BoundedCollection to decorate, must not be null
        Returns:
        a new unmodifiable bounded collection
        Throws:
        java.lang.NullPointerException - if coll is null
        Since:
        4.0
      • unmodifiableBoundedCollection

        public static <E> BoundedCollection<E> unmodifiableBoundedCollection​(java.util.Collection<? extends E> coll)
        Factory method to create an unmodifiable bounded collection.

        This method is capable of drilling down through up to 1000 other decorators to find a suitable BoundedCollection.

        Type Parameters:
        E - the type of the elements in the collection
        Parameters:
        coll - the BoundedCollection to decorate, must not be null
        Returns:
        a new unmodifiable bounded collection
        Throws:
        java.lang.NullPointerException - if coll is null
        java.lang.IllegalArgumentException - if coll is not a BoundedCollection
        Since:
        4.0
      • 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>
      • 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>
      • isFull

        public boolean isFull()
        Description copied from interface: BoundedCollection
        Returns true if this collection is full and no new elements can be added.
        Specified by:
        isFull in interface BoundedCollection<E>
        Returns:
        true if the collection is full.
      • maxSize

        public int maxSize()
        Description copied from interface: BoundedCollection
        Gets the maximum size of the collection (the bound).
        Specified by:
        maxSize in interface BoundedCollection<E>
        Returns:
        the maximum number of elements the collection can hold.