org.apache.felix.framework.util

## Class ShrinkableCollection<T>

- java.lang.Object
- - org.apache.felix.framework.util.ShrinkableCollection<T>

All Implemented Interfaces:
  Iterable<T>, Collection<T>

    public class ShrinkableCollection<T>
    extends Object
    implements Collection<T>

A collection wrapper that only permits clients to shrink the collection.

### Constructor Summary

Constructors
Constructor and Description
`ShrinkableCollection(Collection<T> delegate)`

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `add(T o)`
`boolean` `addAll(Collection<? extends T> c)`
`void` `clear()`
`boolean` `contains(Object o)`
`boolean` `containsAll(Collection<?> c)`
`boolean` `equals(Object o)`
`int` `hashCode()`
`boolean` `isEmpty()`
`Iterator<T>` `iterator()`
`boolean` `remove(Object o)`
`boolean` `removeAll(Collection<?> c)`
`boolean` `retainAll(Collection<?> c)`
`int` `size()`
`Object[]` `toArray()`
`<A> A[]` `toArray(A[] a)`

### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface java.util.Collection

`parallelStream, removeIf, spliterator, stream`

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

`forEach`

### Constructor Detail

#### ShrinkableCollection

    public ShrinkableCollection(Collection<T> delegate)

### Method Detail

#### add

    public boolean add(T o)

Specified by:
  `add` in interface `Collection<T>`

#### addAll

    public boolean addAll(Collection<? extends T> c)

Specified by:
  `addAll` in interface `Collection<T>`

#### clear

    public void clear()

Specified by:
  `clear` in interface `Collection<T>`

#### contains

    public boolean contains(Object o)

Specified by:
  `contains` in interface `Collection<T>`

#### containsAll

    public boolean containsAll(Collection<?> c)

Specified by:
  `containsAll` in interface `Collection<T>`

#### equals

    public boolean equals(Object o)

Specified by:
  `equals` in interface `Collection<T>`
Overrides:
  `equals` in class `Object`

#### hashCode

    public int hashCode()

Specified by:
  `hashCode` in interface `Collection<T>`
Overrides:
  `hashCode` in class `Object`

#### isEmpty

    public boolean isEmpty()

Specified by:
  `isEmpty` in interface `Collection<T>`

#### iterator

    public Iterator<T> iterator()

Specified by:
  `iterator` in interface `Iterable<T>`
Specified by:
  `iterator` in interface `Collection<T>`

#### remove

    public boolean remove(Object o)

Specified by:
  `remove` in interface `Collection<T>`

#### removeAll

    public boolean removeAll(Collection<?> c)

Specified by:
  `removeAll` in interface `Collection<T>`

#### retainAll

    public boolean retainAll(Collection<?> c)

Specified by:
  `retainAll` in interface `Collection<T>`

#### size

    public int size()

Specified by:
  `size` in interface `Collection<T>`

#### toArray

    public Object[] toArray()

Specified by:
  `toArray` in interface `Collection<T>`

#### toArray

    public <A> A[] toArray(A[] a)

Specified by:
  `toArray` in interface `Collection<T>`