|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectca.odell.glazedlists.AbstractEventList<E>
ca.odell.glazedlists.TransformedList<E,E>
ca.odell.glazedlists.PluggableList<E>
public class PluggableList<E>
An EventList which delegates all List methods to a given source
EventList that may be replaced at runtime using
setSource(EventList).
Note that the source EventList must use the same
ListEventPublisher and ReadWriteLock, particularly if this
EventList is to be used by multiple threads concurrently. To
construct an EventList that shares the ListEventPublisher
and ReadWriteLock with this PluggableList, use
createSourceList().
Warning: This class is
thread ready but not thread safe. See EventList for an example
of thread safe code.
| EventList Overview | |
| Writable: | yes |
| Concurrency: | only setSource(EventList) |
| Performance: | delegates to source EventList |
| Memory: | N/A |
| Unit Tests: | N/A |
| Issues: | |
| Field Summary |
|---|
| Fields inherited from class ca.odell.glazedlists.TransformedList |
|---|
source |
| Fields inherited from class ca.odell.glazedlists.AbstractEventList |
|---|
publisher, readWriteLock, updates |
| Constructor Summary | |
|---|---|
PluggableList(EventList<E> source)
Constructs a PluggableList which delegates all List methods to the given source. |
|
PluggableList(ListEventPublisher publisher,
ReadWriteLock lock)
Constructs a PluggableList which uses the given publisher
and lock. |
|
| Method Summary | |
|---|---|
EventList<E> |
createSourceList()
Creates a new EventList that shares its
ReadWriteLock and
ListEventPublisher with this
PluggableList. |
void |
dispose()
Releases the resources consumed by this TransformedList so that it
may eventually be garbage collected. |
protected boolean |
isWritable()
Gets whether the source EventList is writable via this API. |
void |
listChanged(ListEvent<E> listChanges)
When the underlying list changes, this notification allows the object to repaint itself or update itself as necessary. |
void |
setSource(EventList<E> source)
Sets the source EventList to which this PluggableList will delegate all calls. |
| Methods inherited from class ca.odell.glazedlists.TransformedList |
|---|
add, addAll, clear, get, getSourceIndex, remove, removeAll, retainAll, set, size |
| Methods inherited from class ca.odell.glazedlists.AbstractEventList |
|---|
add, addAll, addListEventListener, contains, containsAll, equals, getPublisher, getReadWriteLock, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, removeListEventListener, subList, toArray, toArray, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public PluggableList(ListEventPublisher publisher,
ReadWriteLock lock)
publisher
and lock. The PluggableList will default to use a
BasicEventList that also uses the same publisher
and lock.
publisher - the ListEventPublisher to use within the PluggableListlock - the ReadWriteLock to use within the PluggableListpublic PluggableList(EventList<E> source)
source. At some future time, the source EventList may be
replaced using setSource(EventList) and this PluggableList will
produce a ListEvent describing the change in data.
source - the source of data to this PluggableList| Method Detail |
|---|
public EventList<E> createSourceList()
EventList that shares its
ReadWriteLock and
ListEventPublisher with this
PluggableList. This is necessary when this PluggableList
will be used by multiple threads.
Note that the created EventList must be explicitly set as the
source of this PluggableList using setSource(EventList).
source of this PluggableListpublic void setSource(EventList<E> source)
To ensure correct behaviour when this PluggableList is used by
multiple threads, the given source must
share the same ReadWriteLock and
ListEventPublisher with this PluggableList.
source - the new source of data for this PluggableList, and all
downstream EventLists
java.lang.IllegalStateException - if this PluggableList is already disposed
java.lang.IllegalArgumentException - if any of the following are true
protected boolean isWritable()
TransformedListEventList is writable via this API.
Extending classes must override this method in order to make themselves writable.
isWritable in class TransformedList<E,E>public void listChanged(ListEvent<E> listChanges)
TransformedListIt is mandatory that the calling thread has obtained the write lock on the source list. This is because the calling thread will have written to the source list to cause this event. This condition guarantees that no writes can occur while the listener is handling this event. It is an error to write to the source list while processing an event.
listChanged in interface ListEventListener<E>listChanged in class TransformedList<E,E>listChanges - a ListEvent describing the changes to the listpublic void dispose()
TransformedListTransformedList so that it
may eventually be garbage collected.
A TransformedList will be garbage collected without a call to
TransformedList.dispose(), but not before its source EventList is garbage
collected. By calling TransformedList.dispose(), you allow the TransformedList
to be garbage collected before its source EventList. This is
necessary for situations where a TransformedList is short-lived but
its source EventList is long-lived.
Warning: It is an error
to call any method on a TransformedList after it has been disposed.
dispose in interface EventList<E>dispose in class TransformedList<E,E>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||