org.homeunix.thecave.moss.data.list
Class CollectionChangeWrapper<T>

java.lang.Object
  extended by org.homeunix.thecave.moss.data.list.CollectionChangeWrapper<T>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>
Direct Known Subclasses:
ListChangeWrapper, SetChangeWrapper

public class CollectionChangeWrapper<T>
extends java.lang.Object
implements java.util.Collection<T>

A class which adds data change notificiations to a collection.

Author:
wyatt

Constructor Summary
CollectionChangeWrapper(java.util.Collection<T> backingCollection)
           
 
Method Summary
 boolean add(T o)
           
 boolean addAll(java.util.Collection<? extends T> c)
           
 void addCollectionChangeListener(CollectionChangeListener listener)
          Registers this listener to recieve events when the list changes.
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection<?> c)
           
protected  void fireCollectionChangeEvent()
          Fires a collection change event.
 boolean isEmpty()
           
 java.util.Iterator<T> iterator()
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection<?> c)
           
 void removeCollectionChangeListener(CollectionChangeListener listener)
          Unregisters this listener from recieving events when the collection changes.
 boolean retainAll(java.util.Collection<?> c)
           
 int size()
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] a)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.util.Collection
equals, hashCode
 

Constructor Detail

CollectionChangeWrapper

public CollectionChangeWrapper(java.util.Collection<T> backingCollection)
Method Detail

add

public boolean add(T o)
Specified by:
add in interface java.util.Collection<T>

addAll

public boolean addAll(java.util.Collection<? extends T> c)
Specified by:
addAll in interface java.util.Collection<T>

clear

public void clear()
Specified by:
clear in interface java.util.Collection<T>

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.Collection<T>

containsAll

public boolean containsAll(java.util.Collection<?> c)
Specified by:
containsAll in interface java.util.Collection<T>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>

iterator

public java.util.Iterator<T> iterator()
Specified by:
iterator in interface java.lang.Iterable<T>
Specified by:
iterator in interface java.util.Collection<T>

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.Collection<T>

removeAll

public boolean removeAll(java.util.Collection<?> c)
Specified by:
removeAll in interface java.util.Collection<T>

retainAll

public boolean retainAll(java.util.Collection<?> c)
Specified by:
retainAll in interface java.util.Collection<T>

size

public int size()
Specified by:
size in interface java.util.Collection<T>

toArray

public java.lang.Object[] toArray()
Specified by:
toArray in interface java.util.Collection<T>

toArray

public <T> T[] toArray(T[] a)
Specified by:
toArray in interface java.util.Collection<T>

addCollectionChangeListener

public void addCollectionChangeListener(CollectionChangeListener listener)
Registers this listener to recieve events when the list changes.

Parameters:
listener -

removeCollectionChangeListener

public void removeCollectionChangeListener(CollectionChangeListener listener)
Unregisters this listener from recieving events when the collection changes.

Parameters:
listener -

fireCollectionChangeEvent

protected void fireCollectionChangeEvent()
Fires a collection change event. This can happen at most once per second; if we try to fire more than that, we just ignore them.