Package org.jboss.util.collection
Class CachedList
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList
-
- org.jboss.util.collection.CachedList
-
- All Implemented Interfaces:
java.lang.Iterable,java.util.Collection,java.util.List
public class CachedList extends java.util.AbstractListA wrapper around aListwhich translates added objects intoSoftObjectreferences, allowing the VM to garbage collect objects in the collection when memory is low.- Version:
- $Revision$
-
-
Constructor Summary
Constructors Constructor Description CachedList()Construct a CachedList using a LinkedList for storage.CachedList(java.util.List list)Construct a CachedList.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, java.lang.Object obj)Inserts the specified element at the specified position in this list (optional operation).java.lang.Objectget(int index)Returns the element at the specified position in this list.private java.lang.ObjectgetObject(int index)Dereference the object at the given index.private voidmaintain()Maintains the collection by removing garbage collected objects.java.lang.Objectremove(int index)Removes the element at the specified position in this list (optional operation).java.lang.Objectset(int index, java.lang.Object obj)Replaces the element at the specified position in this list with the specified element.intsize()Return the size of the list.-
Methods inherited from class java.util.AbstractList
add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, removeRange, subList
-
Methods inherited from class java.util.AbstractCollection
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
-
-
-
-
Method Detail
-
getObject
private java.lang.Object getObject(int index)
Dereference the object at the given index.
-
get
public java.lang.Object get(int index)
Returns the element at the specified position in this list.- Specified by:
getin interfacejava.util.List- Specified by:
getin classjava.util.AbstractList- Parameters:
index- Index of element to return.- Returns:
- The element at the specified position.
-
size
public int size()
Return the size of the list.- Specified by:
sizein interfacejava.util.Collection- Specified by:
sizein interfacejava.util.List- Specified by:
sizein classjava.util.AbstractCollection- Returns:
- The number of elements in the list.
-
set
public java.lang.Object set(int index, java.lang.Object obj)Replaces the element at the specified position in this list with the specified element.- Specified by:
setin interfacejava.util.List- Overrides:
setin classjava.util.AbstractList- Parameters:
index- Index of element to replace.obj- Element to be stored at the specified postion.- Returns:
- The previous element at the given index.
-
add
public void add(int index, java.lang.Object obj)Inserts the specified element at the specified position in this list (optional operation). Shifts the element currently at that position (if any) and any subsequent elements to the right (adds one to their indices).- Specified by:
addin interfacejava.util.List- Overrides:
addin classjava.util.AbstractList- Parameters:
index- Index at which the specified element is to be inserted.obj- Element to be inserted.
-
remove
public java.lang.Object remove(int index)
Removes the element at the specified position in this list (optional operation). Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the list.- Specified by:
removein interfacejava.util.List- Overrides:
removein classjava.util.AbstractList- Parameters:
index- The index of the element to remove.- Returns:
- The element previously at the specified position.
-
maintain
private void maintain()
Maintains the collection by removing garbage collected objects.
-
-