ca.odell.glazedlists
Interface EventList<E>
- List
- AbstractEventList<E>, BasicEventList<E>, CachingList, CollectionList<S,E>, CompositeList<E>, DebugList<E>, FileList, FilterList<E>, FreezableList<E>, FunctionList<S,E>, GroupingList<E>, NetworkList<E>, ObservableElementList<E>, PopularityList<E>, RangeList<E>, SeparatorList<E>, SequenceList<E>, SortedList<E>, ThresholdList<E>, TransactionList<E>, TransformedList<S,E>, UniqueList<E>
public interface EventList<E>
extends List
An observable
List
.
ListEventListener
s can register to be
notified when this list changes.
EventList
s may be writable or read-only. Consult the Javadoc for
your
EventList
if you are unsure.
Warning: EventList
s
are thread ready but not thread safe. If you are sharing an
EventList
between multiple threads, you can add thread safety by using the built-in
locks:
EventList myList = ...
myList.getReadWriteLock().writeLock().lock();
try {
// access myList here
if(myList.size() > 3) {
System.out.println(myList.get(3));
myList.remove(3);
}
} finally {
myList.getReadWriteLock().writeLock().unlock();
}
Note that you are also required to acquire and hold the lock during the
construction of an EventList if concurrent modifications are possible in
your environment, like so:
EventList source = ...
SortedList sorted;
source.getReadWriteLock().readLock().lock();
try {
sorted = new SortedList(source);
} finally {
source.getReadWriteLock().readLock().unlock();
}
Warning: EventList
s
may break the contract required by
java.util.List
. For example, when
you
add()
on a
SortedList
, it will ignore the specified
index so that the element will be inserted in sorted order.
GlazedLists.eventListOf(Object[])
, GlazedLists.eventList(Collection)
, GlazedLists.readOnlyList(EventList)
, GlazedLists.threadSafeList(EventList)
, GlazedLists.weakReferenceProxy(EventList, ListEventListener)
addListEventListener
public void addListEventListener(E> listChangeListener)
Registers the specified listener to receive change updates for this list.
dispose
public void dispose()
Disposing an EventList will make it eligible for garbage collection.
Some EventLists install themselves as listeners to related objects so
disposing them is necessary.
Warning: It is an error
to call any method on an
EventList
after it has been disposed.
getReadWriteLock
public ReadWriteLock getReadWriteLock()
Gets the lock required to share this list between multiple threads.
- a re-entrant
ReadWriteLock
that guarantees thread safe
access to this list.
removeListEventListener
public void removeListEventListener(E> listChangeListener)
Removes the specified listener from receiving change updates for this list.
Glazed Lists, Copyright © 2003 publicobject.com, O'Dell Engineering.
Documentation build by pbuilder at 2009-07-14 22:05