public class TypeCheckingList extends java.lang.Object implements java.util.List, DeepCloneable
| Modifier and Type | Class and Description |
|---|---|
class |
TypeCheckingList.TypeCheckingListIterator |
| Modifier and Type | Field and Description |
|---|---|
private java.util.Collection |
_lastCheckedCollection |
private java.util.List |
_list |
private java.lang.Class |
_type |
| Modifier | Constructor and Description |
|---|---|
|
TypeCheckingList(java.lang.Class type) |
|
TypeCheckingList(java.util.List backingList,
java.lang.Class type) |
protected |
TypeCheckingList(java.util.List backingList,
java.lang.Class type,
java.lang.Class parentType)
Create a new Type checking list that checks for type type, but only if parentType is
equal to, a super class/interface of, or an interface implemented by type.
|
| Modifier and Type | Method and Description |
|---|---|
void |
add(int index,
java.lang.Object o) |
boolean |
add(java.lang.Object o) |
boolean |
addAll(java.util.Collection c) |
boolean |
addAll(int index,
java.util.Collection c) |
void |
clear() |
java.lang.Object |
clone()
Create a shallow clone of the object
|
boolean |
contains(java.lang.Object o) |
boolean |
containsAll(java.util.Collection c) |
protected java.util.List |
copyBackingList()
Make a copy of the wrapped list - used by subclasses when the overriding the clone method
|
java.lang.Object |
deepClone()
Create a deep clone of the object
|
boolean |
equals(java.lang.Object obj) |
java.lang.Object |
get(int index) |
private java.util.List |
getList() |
java.lang.Class |
getType() |
protected TypeCheckingList.TypeCheckingListIterator |
getTypeCheckingListIterator() |
protected TypeCheckingList.TypeCheckingListIterator |
getTypeCheckingListIterator(int index) |
int |
indexOf(java.lang.Object o) |
private void |
init(java.util.List backingList,
java.lang.Class type) |
boolean |
isEmpty() |
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) |
int |
size() |
java.util.List |
subList(int fromIndex,
int toIndex) |
java.lang.Object[] |
toArray() |
java.lang.Object[] |
toArray(java.lang.Object[] a) |
private void |
typecheck(java.util.Collection c) |
private void |
typecheck(java.lang.Object obj) |
private java.util.List _list
private java.lang.Class _type
private java.util.Collection _lastCheckedCollection
public TypeCheckingList(java.lang.Class type)
public TypeCheckingList(java.util.List backingList,
java.lang.Class type)
protected TypeCheckingList(java.util.List backingList,
java.lang.Class type,
java.lang.Class parentType)
private void init(java.util.List backingList,
java.lang.Class type)
public java.lang.Class getType()
private java.util.List getList()
public java.lang.Object clone()
throws java.lang.CloneNotSupportedException
DeepCloneableclone in interface DeepCloneableclone in class java.lang.Objectjava.lang.CloneNotSupportedExceptionprotected java.util.List copyBackingList()
throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedExceptionpublic java.lang.Object deepClone()
throws java.lang.UnsupportedOperationException
DeepCloneabledeepClone in interface DeepCloneablejava.lang.UnsupportedOperationExceptionpublic boolean equals(java.lang.Object obj)
equals in interface java.util.Collectionequals in interface java.util.Listequals in class java.lang.Objectpublic boolean add(java.lang.Object o)
add in interface java.util.Collectionadd in interface java.util.Listpublic void add(int index,
java.lang.Object o)
add in interface java.util.Listpublic boolean addAll(java.util.Collection c)
addAll in interface java.util.CollectionaddAll in interface java.util.Listpublic boolean addAll(int index,
java.util.Collection c)
addAll in interface java.util.Listpublic boolean contains(java.lang.Object o)
contains in interface java.util.Collectioncontains in interface java.util.Listpublic boolean containsAll(java.util.Collection c)
containsAll in interface java.util.CollectioncontainsAll in interface java.util.Listpublic java.lang.Object set(int index,
java.lang.Object element)
set in interface java.util.Listpublic int indexOf(java.lang.Object o)
indexOf in interface java.util.Listpublic int lastIndexOf(java.lang.Object o)
lastIndexOf in interface java.util.Listpublic boolean remove(java.lang.Object o)
remove in interface java.util.Collectionremove in interface java.util.Listpublic java.util.ListIterator listIterator()
listIterator in interface java.util.Listpublic java.util.ListIterator listIterator(int index)
listIterator in interface java.util.Listprotected TypeCheckingList.TypeCheckingListIterator getTypeCheckingListIterator()
protected TypeCheckingList.TypeCheckingListIterator getTypeCheckingListIterator(int index)
public int size()
size in interface java.util.Collectionsize in interface java.util.Listpublic boolean isEmpty()
isEmpty in interface java.util.CollectionisEmpty in interface java.util.Listpublic java.util.Iterator iterator()
iterator in interface java.lang.Iterableiterator in interface java.util.Collectioniterator in interface java.util.Listpublic java.lang.Object[] toArray()
toArray in interface java.util.CollectiontoArray in interface java.util.Listpublic java.lang.Object[] toArray(java.lang.Object[] a)
toArray in interface java.util.CollectiontoArray in interface java.util.Listpublic boolean removeAll(java.util.Collection c)
removeAll in interface java.util.CollectionremoveAll in interface java.util.Listpublic boolean retainAll(java.util.Collection c)
retainAll in interface java.util.CollectionretainAll in interface java.util.Listpublic void clear()
clear in interface java.util.Collectionclear in interface java.util.Listpublic java.lang.Object get(int index)
get in interface java.util.Listpublic java.lang.Object remove(int index)
remove in interface java.util.Listpublic java.util.List subList(int fromIndex,
int toIndex)
subList in interface java.util.Listprivate void typecheck(java.lang.Object obj)
private void typecheck(java.util.Collection c)