com.google.common.collect
Class ForwardingCollection<E>

java.lang.Object
  extended by com.google.common.collect.ForwardingObject
      extended by com.google.common.collect.ForwardingCollection<E>
All Implemented Interfaces:
Iterable<E>, Collection<E>
Direct Known Subclasses:
ForwardingList, ForwardingMultiset, ForwardingQueue, ForwardingSet

public abstract class ForwardingCollection<E>
extends ForwardingObject
implements Collection<E>

A collection which forwards all its method calls to another collection. Subclasses should override one or more methods to modify the behavior of the backing collection as desired per the decorator pattern.

Since:
2010.01.04 stable (imported from Google Collections Library)
Author:
Kevin Bourrillion
See Also:
ForwardingObject

Constructor Summary
ForwardingCollection()
           
 
Method Summary
 boolean add(E element)
           
 boolean addAll(Collection<? extends E> collection)
           
 void clear()
           
 boolean contains(Object object)
           
 boolean containsAll(Collection<?> collection)
           
protected abstract  Collection<E> delegate()
          Returns the backing delegate instance that methods are forwarded to.
 boolean isEmpty()
           
 Iterator<E> iterator()
           
 boolean remove(Object object)
           
 boolean removeAll(Collection<?> collection)
           
 boolean retainAll(Collection<?> collection)
           
 int size()
           
 Object[] toArray()
           
<T> T[]
toArray(T[] array)
           
 
Methods inherited from class com.google.common.collect.ForwardingObject
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
equals, hashCode
 

Constructor Detail

ForwardingCollection

public ForwardingCollection()
Method Detail

delegate

protected abstract Collection<E> delegate()
Description copied from class: ForwardingObject
Returns the backing delegate instance that methods are forwarded to. Abstract subclasses generally override this method with an abstract method that has a more specific return type, such as ForwardingSet.delegate(). Concrete subclasses override this method to supply the instance being decorated.

Specified by:
delegate in class ForwardingObject

iterator

public Iterator<E> iterator()
Specified by:
iterator in interface Iterable<E>
Specified by:
iterator in interface Collection<E>

size

public int size()
Specified by:
size in interface Collection<E>

removeAll

public boolean removeAll(Collection<?> collection)
Specified by:
removeAll in interface Collection<E>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface Collection<E>

contains

public boolean contains(Object object)
Specified by:
contains in interface Collection<E>

toArray

public Object[] toArray()
Specified by:
toArray in interface Collection<E>

toArray

public <T> T[] toArray(T[] array)
Specified by:
toArray in interface Collection<E>

add

public boolean add(E element)
Specified by:
add in interface Collection<E>

remove

public boolean remove(Object object)
Specified by:
remove in interface Collection<E>

containsAll

public boolean containsAll(Collection<?> collection)
Specified by:
containsAll in interface Collection<E>

addAll

public boolean addAll(Collection<? extends E> collection)
Specified by:
addAll in interface Collection<E>

retainAll

public boolean retainAll(Collection<?> collection)
Specified by:
retainAll in interface Collection<E>

clear

public void clear()
Specified by:
clear in interface Collection<E>