org.jboss.util.collection
Class CachedCollection

java.lang.Object
  extended byjava.util.AbstractCollection
      extended byorg.jboss.util.collection.CachedCollection
All Implemented Interfaces:
java.util.Collection

public class CachedCollection
extends java.util.AbstractCollection

A wrapper around a Collection which translates added objects into SoftObject (src) references, allowing the VM to garbage collect objects in the collection when memory is low.


Field Summary
protected  java.util.Collection collection
          Wrapped collection
protected  java.lang.ref.ReferenceQueue queue
          Reference queue
 
Constructor Summary
CachedCollection(java.util.Collection collection)
          Construct a CachedCollection.
 
Method Summary
 boolean add(java.lang.Object obj)
          Add an object to the collection.
 java.util.Iterator iterator()
          Returns an iterator over the elements contained in this collection.
 int size()
          Returns the size of the collection.
 
Methods inherited from class java.util.AbstractCollection
addAll, clear, contains, containsAll, isEmpty, remove, removeAll, retainAll, 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
equals, hashCode
 

Field Detail

queue

protected final java.lang.ref.ReferenceQueue queue
Reference queue


collection

protected final java.util.Collection collection
Wrapped collection

Constructor Detail

CachedCollection

public CachedCollection(java.util.Collection collection)
Construct a CachedCollection.

Parameters:
collection - Collection to wrap.
Method Detail

iterator

public java.util.Iterator iterator()
Returns an iterator over the elements contained in this collection.

Returns:
An iterator over the elements contained in this collection.

size

public int size()
Returns the size of the collection.

Returns:
The number of elements in the collection.

add

public boolean add(java.lang.Object obj)
Add an object to the collection.

Parameters:
obj - Object (or null to add to the collection.
Returns:
True if object was added.