|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface EventList<E>
An observable List
. ListEventListener
s can register to be
notified when this list changes. A ListEvent
represents these changes
to an EventList
.
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 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)
Method Summary | |
---|---|
void |
addListEventListener(ListEventListener<? super E> listChangeListener)
Registers the specified listener to receive change updates for this list. |
void |
dispose()
Disposing an EventList will make it eligible for garbage collection. |
ListEventPublisher |
getPublisher()
Get the publisher used to distribute ListEvent s. |
ReadWriteLock |
getReadWriteLock()
Gets the lock required to share this list between multiple threads. |
void |
removeListEventListener(ListEventListener<? super E> listChangeListener)
Removes the specified listener from receiving change updates for this list. |
Methods inherited from interface java.util.List |
---|
add, add, addAll, addAll, clear, contains, containsAll, equals, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, retainAll, set, size, subList, toArray, toArray |
Method Detail |
---|
void addListEventListener(ListEventListener<? super E> listChangeListener)
listChangeListener
- event listener != null
NullPointerException
- if the specified listener is nullvoid removeListEventListener(ListEventListener<? super E> listChangeListener)
listChangeListener
- event listener != null
NullPointerException
- if the specified listener is null
IllegalArgumentException
- if the specified listener wasn't added beforeReadWriteLock getReadWriteLock()
ReadWriteLock
that guarantees thread safe
access to this list.ListEventPublisher getPublisher()
ListEvent
s. It's always defined.
void dispose()
Warning: It is an error
to call any method on an EventList
after it has been disposed.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |