org.homeunix.thecave.moss.data.list
Class WrapperList<T,W>

java.lang.Object
  extended by org.homeunix.thecave.moss.data.list.WrapperList<T,W>
All Implemented Interfaces:
java.lang.Iterable<T>, java.util.Collection<T>, java.util.List<T>
Direct Known Subclasses:
WrapperLists.ImmutableAccountList, WrapperLists.ImmutableObjectWrapperList

public abstract class WrapperList<T,W>
extends java.lang.Object
implements java.util.List<T>

Author:
wyatt Returns an immutable list of type T, which consists of a list of wrapped type W. You must implement the conversion method yourself.

Constructor Summary
WrapperList(java.util.List<W> wrappedList, boolean sorted)
           
 
Method Summary
 void add(int arg0, T arg1)
           
 boolean add(T arg0)
           
 boolean addAll(java.util.Collection<? extends T> arg0)
           
 boolean addAll(int arg0, java.util.Collection<? extends T> arg1)
           
 void clear()
           
 boolean contains(java.lang.Object arg0)
           
 boolean containsAll(java.util.Collection<?> arg0)
           
 T get(int arg0)
           
abstract  W getWrappedObject(T object)
           
abstract  T getWrapperObject(W object)
           
 int indexOf(java.lang.Object arg0)
           
 boolean isEmpty()
           
 java.util.Iterator<T> iterator()
           
 int lastIndexOf(java.lang.Object arg0)
           
 java.util.ListIterator<T> listIterator()
           
 java.util.ListIterator<T> listIterator(int arg0)
           
 T remove(int arg0)
           
 boolean remove(java.lang.Object arg0)
           
 boolean removeAll(java.util.Collection<?> arg0)
           
 boolean retainAll(java.util.Collection<?> arg0)
           
 T set(int arg0, T arg1)
           
 int size()
           
 java.util.List<T> subList(int arg0, int arg1)
           
 java.lang.Object[] toArray()
           
<T> T[]
toArray(T[] arg0)
           
 java.lang.String toString()
           
 void updateWrapperList()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.util.List
equals, hashCode
 

Constructor Detail

WrapperList

public WrapperList(java.util.List<W> wrappedList,
                   boolean sorted)
Method Detail

add

public void add(int arg0,
                T arg1)
Specified by:
add in interface java.util.List<T>

add

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

addAll

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

addAll

public boolean addAll(int arg0,
                      java.util.Collection<? extends T> arg1)
Specified by:
addAll in interface java.util.List<T>

clear

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

contains

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

containsAll

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

get

public T get(int arg0)
Specified by:
get in interface java.util.List<T>

indexOf

public int indexOf(java.lang.Object arg0)
Specified by:
indexOf in interface java.util.List<T>

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.Collection<T>
Specified by:
isEmpty in interface java.util.List<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>
Specified by:
iterator in interface java.util.List<T>

lastIndexOf

public int lastIndexOf(java.lang.Object arg0)
Specified by:
lastIndexOf in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator()
Specified by:
listIterator in interface java.util.List<T>

listIterator

public java.util.ListIterator<T> listIterator(int arg0)
Specified by:
listIterator in interface java.util.List<T>

remove

public T remove(int arg0)
Specified by:
remove in interface java.util.List<T>

remove

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

removeAll

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

retainAll

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

set

public T set(int arg0,
             T arg1)
Specified by:
set in interface java.util.List<T>

size

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

subList

public java.util.List<T> subList(int arg0,
                                 int arg1)
Specified by:
subList in interface java.util.List<T>

toArray

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

toArray

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

updateWrapperList

public void updateWrapperList()

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

getWrappedObject

public abstract W getWrappedObject(T object)

getWrapperObject

public abstract T getWrapperObject(W object)