com.sun.xml.bind.util
Class ProxyListImpl<T>
java.lang.Object
com.sun.xml.bind.util.ProxyListImpl<T>
- All Implemented Interfaces:
- Serializable, Iterable<T>, Collection<T>, List<T>
- Direct Known Subclasses:
- ListImpl
public abstract class ProxyListImpl<T>
- extends Object
- implements List<T>, Serializable
List with modification detection capability.
This wrapper class exposes two additional methods
setModified and isModified
to check whether the contents of a list is modified.
I originally thought the modCount field of AbstractList
is suffice to implement this capability, but a close look
at the source code reveals that modCount is not updated
when value is modified without a structural change.
This includes modifying a value of a list, for example.
Thus unfortunately we need to trap the calls to all
the mutation methods of List.
Note that Iterator implementation of AbstractList
modifies list directly without using a public method
of List. Thus we also need to wrap Iterators.
- Since:
- JAXB1.0
- Author:
- Kohsuke Kawaguchi (kohsuke.kawaguchi@sun.com)
- See Also:
- Serialized Form
|
Field Summary |
protected List<T> |
core
The actual storage. |
core
protected final List<T> core
- The actual storage.
ProxyListImpl
public ProxyListImpl()
ProxyListImpl
public ProxyListImpl(List<T> c)
setModified
public abstract void setModified(boolean f)
add
public void add(int index,
T element)
- Specified by:
add in interface List<T>
add
public boolean add(T o)
- Specified by:
add in interface Collection<T>- Specified by:
add in interface List<T>
addAll
public boolean addAll(Collection<? extends T> c)
- Specified by:
addAll in interface Collection<T>- Specified by:
addAll in interface List<T>
addAll
public boolean addAll(int index,
Collection<? extends T> c)
- Specified by:
addAll in interface List<T>
set
public T set(int index,
T element)
- Specified by:
set in interface List<T>
clear
public void clear()
- Specified by:
clear in interface Collection<T>- Specified by:
clear in interface List<T>
remove
public T remove(int index)
- Specified by:
remove in interface List<T>
remove
public boolean remove(Object o)
- Specified by:
remove in interface Collection<T>- Specified by:
remove in interface List<T>
iterator
public Iterator<T> iterator()
- Specified by:
iterator in interface Iterable<T>- Specified by:
iterator in interface Collection<T>- Specified by:
iterator in interface List<T>
listIterator
public ListIterator<T> listIterator(int index)
- Specified by:
listIterator in interface List<T>
listIterator
public ListIterator<T> listIterator()
- Specified by:
listIterator in interface List<T>
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll in interface Collection<T>- Specified by:
removeAll in interface List<T>
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll in interface Collection<T>- Specified by:
retainAll in interface List<T>
contains
public boolean contains(Object o)
- Specified by:
contains in interface Collection<T>- Specified by:
contains in interface List<T>
containsAll
public boolean containsAll(Collection<?> c)
- Specified by:
containsAll in interface Collection<T>- Specified by:
containsAll in interface List<T>
get
public T get(int index)
- Specified by:
get in interface List<T>
indexOf
public int indexOf(Object o)
- Specified by:
indexOf in interface List<T>
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface Collection<T>- Specified by:
isEmpty in interface List<T>
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
lastIndexOf in interface List<T>
size
public int size()
- Specified by:
size in interface Collection<T>- Specified by:
size in interface List<T>
subList
public List<T> subList(int fromIndex,
int toIndex)
- Specified by:
subList in interface List<T>
toArray
public Object[] toArray()
- Specified by:
toArray in interface Collection<T>- Specified by:
toArray in interface List<T>
toArray
public <T> T[] toArray(T[] a)
- Specified by:
toArray in interface Collection<T>- Specified by:
toArray in interface List<T>
equals
public boolean equals(Object o)
- Specified by:
equals in interface Collection<T>- Specified by:
equals in interface List<T>- Overrides:
equals in class Object
hashCode
public int hashCode()
- Specified by:
hashCode in interface Collection<T>- Specified by:
hashCode in interface List<T>- Overrides:
hashCode in class Object
Copyright © 2014 Oracle Corporation. All Rights Reserved.