Package 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>

Type Parameters:
  `E` - The type of elements in this collection.

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
See Also:
  - Serialized Form

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `add(E object)`
  Always throws `UnsupportedOperationException`.
  `boolean`
  `addAll(Collection<? extends E> coll)`
  Always throws `UnsupportedOperationException`.
  `void`
  `clear()`
  Always throws `UnsupportedOperationException`.
  `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)`
  Always throws `UnsupportedOperationException`.
  `boolean`
  `removeAll(Collection<?> coll)`
  Always throws `UnsupportedOperationException`.
  `boolean`
  `removeIf(Predicate<? super E> filter)`
  Always throws `UnsupportedOperationException`.
  `boolean`
  `retainAll(Collection<?> coll)`
  Always throws `UnsupportedOperationException`.
  `static <E> BoundedCollection<E>`
  `unmodifiableBoundedCollection(Collection<? extends E> collection)`
  Creates an unmodifiable bounded collection.
  `static <E> BoundedCollection<E>`
  `unmodifiableBoundedCollection(BoundedCollection<? extends E> coll)`
  Creates 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, parallelStream, size, spliterator, stream, toArray, toArray`

  ### Methods inherited from interface java.lang.Iterable

  `forEach`

- ## Method Details

  - ### unmodifiableBoundedCollection

    public static <E> BoundedCollection<E> unmodifiableBoundedCollection(BoundedCollection<? extends E> coll)
    Creates 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> collection)
    Creates 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:
      `collection` - 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

  - ### add

    public boolean add(E object)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `add` in interface `Collection<E>`
    Overrides:
      `add` in class `AbstractCollectionDecorator<E>`
    Parameters:
      `object` - Ignored.
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### addAll

    public boolean addAll(Collection<? extends E> coll)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `addAll` in interface `Collection<E>`
    Overrides:
      `addAll` in class `AbstractCollectionDecorator<E>`
    Parameters:
      `coll` - Ignored.
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### clear

    public void clear()
    Always throws `UnsupportedOperationException`.
    Specified by:
      `clear` in interface `Collection<E>`
    Overrides:
      `clear` in class `AbstractCollectionDecorator<E>`
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### 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.

  - ### 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.

  - ### iterator

    public Iterator<E> iterator()
    Specified by:
      `iterator` in interface `Collection<E>`
    Specified by:
      `iterator` in interface `Iterable<E>`
    Overrides:
      `iterator` in class `AbstractCollectionDecorator<E>`

  - ### 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.

  - ### remove

    public boolean remove(Object object)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `remove` in interface `Collection<E>`
    Overrides:
      `remove` in class `AbstractCollectionDecorator<E>`
    Parameters:
      `object` - Ignored.
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### removeAll

    public boolean removeAll(Collection<?> coll)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `removeAll` in interface `Collection<E>`
    Overrides:
      `removeAll` in class `AbstractCollectionDecorator<E>`
    Parameters:
      `coll` - Ignored.
    Throws:
      `UnsupportedOperationException` - Always thrown.

  - ### removeIf

    public boolean removeIf(Predicate<? super E> filter)
    Always throws `UnsupportedOperationException`.
    Specified by:
      `removeIf` in interface `Collection<E>`
    Overrides:
      `removeIf` in class `AbstractCollectionDecorator<E>`
    Parameters:
      `filter` - Ignored.
    Throws:
      `UnsupportedOperationException` - Always thrown.
    Since:
      4.4

  - ### retainAll

    public boolean retainAll(Collection<?> coll)
    Always throws `UnsupportedOperationException`. @param Ignored.
    Specified by:
      `retainAll` in interface `Collection<E>`
    Overrides:
      `retainAll` in class `AbstractCollectionDecorator<E>`
    Throws:
      `UnsupportedOperationException` - Always thrown.