Package 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
Description
`ShrinkableCollection(Collection<T> delegate)`

## Method Summary

Modifier and Type
Method
Description
`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`
`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, toArray`

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

`forEach`

## Constructor Details

### ShrinkableCollection

public ShrinkableCollection(Collection<T> delegate)

## Method Details

### 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 iterator()

Specified by:
  `iterator` in interface `Collection<T>`
Specified by:
  `iterator` in interface `Iterable<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>`