net.sf.spif.util
Class SetList

java.lang.Object
  |
  +--net.sf.spif.util.SetList
All Implemented Interfaces:
java.util.Collection, java.util.List, java.io.Serializable

public class SetList
extends java.lang.Object
implements java.util.List, java.io.Serializable

A list backed by another pluggable list which contains unique elements which are optionaly lazily sorted. This is very useful in model collections which are also used as MVC models. MVC collections are most usable when they have consistent ordering and list access, while model collections usually require uniqueness.

Uniqueness is achieved by also backing this list by a Set. But note that Set or OrderedSet is not implemented, due to lazyness.

Version:
$Id: SetList.java,v 1.2 2003/02/05 22:15:52 bratseth Exp $
Author:
Jon S Bratseth
See Also:
Serialized Form

Constructor Summary
SetList()
          Creates an unsorted setlist backed by the default backing list
SetList(boolean sorted)
          Creates a setlist backed by the default backing list
SetList(boolean sorted, boolean immutablesOnly)
          Creates a setlist backed by the default backing list
 
Method Summary
 void add(int i, java.lang.Object o)
           
 boolean add(java.lang.Object o)
           
 boolean addAll(java.util.Collection c)
          Not supported
 boolean addAll(int index, java.util.Collection c)
          Not supported
 void clear()
           
 boolean contains(java.lang.Object o)
           
 boolean containsAll(java.util.Collection c)
           
 boolean equals(java.lang.Object o)
           
 java.lang.Object get(int index)
           
 int hashCode()
           
 int indexOf(java.lang.Object o)
           
 boolean isEmpty()
           
 boolean isOptimizingList()
          Returns whether we are using an optimized list instance
 java.util.Iterator iterator()
           
 int lastIndexOf(java.lang.Object o)
           
 java.util.ListIterator listIterator()
           
 java.util.ListIterator listIterator(int index)
           
 java.lang.Object remove(int index)
           
 boolean remove(java.lang.Object o)
           
 boolean removeAll(java.util.Collection c)
           
 boolean retainAll(java.util.Collection c)
           
 java.lang.Object set(int index, java.lang.Object element)
           
static void setBackingList(java.lang.Class listClass)
          Sets the default backing list.
 int size()
           
 java.util.List subList(int fromIndex, int toIndex)
           
 java.lang.Object[] toArray()
           
 java.lang.Object[] toArray(java.lang.Object[] a)
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SetList

public SetList()
Creates an unsorted setlist backed by the default backing list


SetList

public SetList(boolean sorted)
Creates a setlist backed by the default backing list

Parameters:
sorted - if true this list will be lazily sorted

SetList

public SetList(boolean sorted,
               boolean immutablesOnly)
Creates a setlist backed by the default backing list

Parameters:
sorted - if true this list will be lazily sorted
immutablesOnly - true if this list contains immutable items (for instance ids). This may be used for some run-time optimizations
Method Detail

setBackingList

public static void setBackingList(java.lang.Class listClass)
Sets the default backing list. The default default is ArrayList


isOptimizingList

public boolean isOptimizingList()
Returns whether we are using an optimized list instance


add

public void add(int i,
                java.lang.Object o)
Specified by:
add in interface java.util.List

add

public boolean add(java.lang.Object o)
Specified by:
add in interface java.util.List

addAll

public boolean addAll(java.util.Collection c)
Not supported

Specified by:
addAll in interface java.util.List

addAll

public boolean addAll(int index,
                      java.util.Collection c)
Not supported

Specified by:
addAll in interface java.util.List

clear

public void clear()
Specified by:
clear in interface java.util.List

contains

public boolean contains(java.lang.Object o)
Specified by:
contains in interface java.util.List

containsAll

public boolean containsAll(java.util.Collection c)
Specified by:
containsAll in interface java.util.List

equals

public boolean equals(java.lang.Object o)
Specified by:
equals in interface java.util.List
Overrides:
equals in class java.lang.Object

get

public java.lang.Object get(int index)
Specified by:
get in interface java.util.List

hashCode

public int hashCode()
Specified by:
hashCode in interface java.util.List
Overrides:
hashCode in class java.lang.Object

indexOf

public int indexOf(java.lang.Object o)
Specified by:
indexOf in interface java.util.List

isEmpty

public boolean isEmpty()
Specified by:
isEmpty in interface java.util.List

iterator

public java.util.Iterator iterator()
Specified by:
iterator in interface java.util.List

lastIndexOf

public int lastIndexOf(java.lang.Object o)
Specified by:
lastIndexOf in interface java.util.List

listIterator

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

listIterator

public java.util.ListIterator listIterator(int index)
Specified by:
listIterator in interface java.util.List

remove

public java.lang.Object remove(int index)
Specified by:
remove in interface java.util.List

remove

public boolean remove(java.lang.Object o)
Specified by:
remove in interface java.util.List

removeAll

public boolean removeAll(java.util.Collection c)
Specified by:
removeAll in interface java.util.List

retainAll

public boolean retainAll(java.util.Collection c)
Specified by:
retainAll in interface java.util.List

set

public java.lang.Object set(int index,
                            java.lang.Object element)
Specified by:
set in interface java.util.List

size

public int size()
Specified by:
size in interface java.util.List

subList

public java.util.List subList(int fromIndex,
                              int toIndex)
Specified by:
subList in interface java.util.List

toArray

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

toArray

public java.lang.Object[] toArray(java.lang.Object[] a)
Specified by:
toArray in interface java.util.List


Spif 1.01 (2003-04-03). http://spif.sf.net