org.apache.commons.collections4.collection

## Class UnmodifiableBoundedCollection<E>

- java.lang.Object
- - org.apache.commons.collections4.collection.AbstractCollectionDecorator<E>
  - - org.apache.commons.collections4.collection.UnmodifiableBoundedCollection<E>

- All Implemented Interfaces:
    Serializable, Iterable<E>, 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
  Version:
    $Id: UnmodifiableBoundedCollection.java 1686855 2015-06-22 13:00:27Z tn $
  See Also:
    Serialized Form

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `add(E object)`
    `boolean` | `addAll(Collection<? extends E> coll)`
    `void` | `clear()`
    `protected BoundedCollection<E>` | `decorated()` Gets the collection being decorated.
    `boolean` | `isFull()` Returns true if this collection is full and no new elements can be added.
    `Iterator<E>` | `iterator()`
    `int` | `maxSize()` Gets the maximum size of the collection (the bound).
    `boolean` | `remove(Object object)`
    `boolean` | `removeAll(Collection<?> coll)`
    `boolean` | `retainAll(Collection<?> coll)`
    `static <E> BoundedCollection<E>` | `unmodifiableBoundedCollection(BoundedCollection<? extends E> coll)` Factory method to create an unmodifiable bounded collection.
    `static <E> BoundedCollection<E>` | `unmodifiableBoundedCollection(Collection<? extends E> coll)` Factory method to create an unmodifiable bounded collection.

    - ### Methods inherited from class org.apache.commons.collections4.collection.AbstractCollectionDecorator

      `contains, containsAll, isEmpty, 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

      `contains, containsAll, equals, hashCode, isEmpty, size, toArray, toArray`

- - ### 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:
        `NullPointerException` - if `coll` is `null`
      Since:
        4.0

    - #### unmodifiableBoundedCollection

          public static <E> BoundedCollection<E> unmodifiableBoundedCollection(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:
        `NullPointerException` - if coll is null
        `IllegalArgumentException` - if coll is not a `BoundedCollection`
      Since:
        4.0

    - #### iterator

          public Iterator<E> iterator()

      Specified by:
        `iterator` in interface `Iterable<E>`
      Specified by:
        `iterator` in interface `Collection<E>`
      Overrides:
        `iterator` in class `AbstractCollectionDecorator<E>`

    - #### add

          public boolean add(E object)

      Specified by:
        `add` in interface `Collection<E>`
      Overrides:
        `add` in class `AbstractCollectionDecorator<E>`

    - #### addAll

          public boolean addAll(Collection<? extends E> coll)

      Specified by:
        `addAll` in interface `Collection<E>`
      Overrides:
        `addAll` in class `AbstractCollectionDecorator<E>`

    - #### clear

          public void clear()

      Specified by:
        `clear` in interface `Collection<E>`
      Overrides:
        `clear` in class `AbstractCollectionDecorator<E>`

    - #### remove

          public boolean remove(Object object)

      Specified by:
        `remove` in interface `Collection<E>`
      Overrides:
        `remove` in class `AbstractCollectionDecorator<E>`

    - #### removeAll

          public boolean removeAll(Collection<?> coll)

      Specified by:
        `removeAll` in interface `Collection<E>`
      Overrides:
        `removeAll` in class `AbstractCollectionDecorator<E>`

    - #### retainAll

          public boolean retainAll(Collection<?> coll)

      Specified by:
        `retainAll` in interface `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

    - #### decorated

          protected BoundedCollection<E> decorated()

      Description copied from class: `AbstractCollectionDecorator`
      Gets the collection being decorated. All access to the decorated collection goes via this method.
      Overrides:
        `decorated` in class `AbstractCollectionDecorator<E>`
      Returns:
        the decorated collection

Copyright © 2001–2015 The Apache Software Foundation. All rights reserved.