ca.odell.glazedlists

Interface EventList<E>

All Superinterfaces:
List
Known Implementing Classes:
AbstractEventList<E>, BasicEventList<E>, CachingList, CollectionList<S,E>, CompositeList<E>, DebugList<E>, FileList, FilterList<E>, FreezableList<E>, FunctionList<S,E>, GroupingList<E>, NetworkList, ObservableElementList<E>, PopularityList<E>, RangeList<E>, SeparatorList<E>, SequenceList<E>, SortedList<E>, ThresholdList<E>, TransformedList<S,E>, UniqueList<E>

public interface EventList<E>
extends List

An observable List. ListEventListeners can register to be notified when this list changes.

EventLists may be writable or read-only. Consult the Javadoc for your EventList if you are unsure.

Warning: EventLists 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();
 }

Warning: EventLists 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.

Author:
Jesse Wilson
See Also:
GlazedLists.eventList(Collection), GlazedLists.readOnlyList(EventList), GlazedLists.threadSafeList(EventList), GlazedLists.weakReferenceProxy(EventList, ListEventListener)

Method Summary

void
addListEventListener(ListEventListener listChangeListener)
Registers the specified listener to receive change updates for this list.
ListEventPublisher
getPublisher()
Get the publisher used to distribute ListEvents.
ReadWriteLock
getReadWriteLock()
Gets the lock required to share this list between multiple threads.
void
removeListEventListener(ListEventListener listChangeListener)
Removes the specified listener from receiving change updates for this list.

Method Details

addListEventListener

public void addListEventListener(ListEventListener listChangeListener)
Registers the specified listener to receive change updates for this list.

getPublisher

public ListEventPublisher getPublisher()
Get the publisher used to distribute ListEvents.

getReadWriteLock

public ReadWriteLock getReadWriteLock()
Gets the lock required to share this list between multiple threads.
Returns:
a re-entrant ReadWriteLock that guarantees thread safe access to this list.

removeListEventListener

public void removeListEventListener(ListEventListener listChangeListener)
Removes the specified listener from receiving change updates for this list.

Glazed Lists, Copyright © 2003-2006 publicobject.com, O'Dell Engineering.
Documentation build by pbuilder at 2007-12-21 23:49