Class WritableList<E>
java.lang.Object
org.eclipse.core.databinding.observable.AbstractObservable
org.eclipse.core.databinding.observable.list.ObservableList<E>
org.eclipse.core.databinding.observable.list.WritableList<E>
- Type Parameters:
E- the type of the elements in this list
- All Implemented Interfaces:
Iterable<E>,Collection<E>,List<E>,SequencedCollection<E>,IObservable,IObservableCollection<E>,IObservableList<E>
Mutable observable list backed by an ArrayList.
This class is thread safe. All state accessing methods must be invoked from
the current realm. Methods for adding and removing
listeners may be invoked from any thread.
- Since:
- 1.0
-
Field Summary
Fields inherited from class org.eclipse.core.databinding.observable.list.ObservableList
wrappedList -
Constructor Summary
ConstructorsConstructorDescriptionCreates an empty writable list in the default realm with anullelement type.WritableList(Collection<E> collection, Object elementType) Constructs a new instance in the default realm containing the elements of the given collection.WritableList(List<E> toWrap, Object elementType) Constructs a new instance with the default realm.WritableList(Realm realm) Creates an empty writable list with anullelement type.WritableList(Realm realm, Collection<E> collection, Object elementType) Constructs a new instance in the default realm containing the elements of the given collection.WritableList(Realm realm, List<E> toWrap, Object elementType) Creates a writable list containing elements of the given type, wrapping an existing client-supplied list. -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanbooleanaddAll(int index, Collection<? extends E> c) booleanaddAll(Collection<? extends E> c) protected voidaddListener(Object listenerType, IObservablesListener listener) voidclear()protected Objectclone()protected voidfireEvent(ObservableEvent event) protected voidgetRealm()protected booleanprotected voidmove(int oldIndex, int newIndex) Moves the element located atoldIndextonewIndex.remove(int index) booleanbooleanremoveAll(Collection<?> c) protected voidremoveListener(Object listenerType, IObservablesListener listener) booleanretainAll(Collection<?> c) static <T> WritableList<T> withElementType(Object elementType) Methods inherited from class org.eclipse.core.databinding.observable.list.ObservableList
addListChangeListener, contains, containsAll, equals, fireChange, fireListChange, get, getElementType, getterCalled, hashCode, indexOf, isEmpty, isStale, iterator, lastIndexOf, listIterator, listIterator, removeListChangeListener, setStale, size, subList, toArray, toArray, toString, updateWrappedListMethods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, dispose, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListenerMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArrayMethods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, dispose, getRealm, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListenerMethods inherited from interface java.util.List
addFirst, addLast, getFirst, getLast, removeFirst, removeLast, replaceAll, reversed, sort, spliterator
-
Constructor Details
-
WritableList
public WritableList()Creates an empty writable list in the default realm with anullelement type. -
WritableList
Creates an empty writable list with anullelement type.- Parameters:
realm- the observable's realm
-
WritableList
Constructs a new instance with the default realm. Note that for backwards compatibility reasons, the contents of the created WritableList will change with the contents of the given list. If this is not desired,WritableList(Collection, Object)should be used by casting the first argument toCollection.- Parameters:
toWrap- The java.util.List to wrapelementType- can benull
-
WritableList
Constructs a new instance in the default realm containing the elements of the given collection. Changes to the given collection after calling this method do not affect the contents of the created WritableList.- Parameters:
collection- the collection to copyelementType- can benull- Since:
- 1.2
-
WritableList
Creates a writable list containing elements of the given type, wrapping an existing client-supplied list. Note that for backwards compatibility reasons, the contents of the created WritableList will change with the contents of the given list. If this is not desired,WritableList(Realm, Collection, Object)should be used by casting the second argument toCollection.- Parameters:
realm- the observable's realmtoWrap- The java.util.List to wrapelementType- can benull
-
WritableList
Constructs a new instance in the default realm containing the elements of the given collection. Changes to the given collection after calling this method do not affect the contents of the created WritableList.- Parameters:
realm- the observable's realmcollection- the collection to copyelementType- can benull- Since:
- 1.2
-
-
Method Details
-
set
- Specified by:
setin interfaceIObservableList<E>- Specified by:
setin interfaceList<E>- Overrides:
setin classObservableList<E>
-
move
Description copied from class:ObservableListMoves the element located atoldIndextonewIndex. This method is equivalent to callingadd(newIndex, remove(oldIndex)).Subclasses should override this method to deliver list change notification for the remove and add operations in the same ListChangeEvent, as this allows
ListDiff.accept(ListDiffVisitor)to recognize the operation as a move.- Specified by:
movein interfaceIObservableList<E>- Overrides:
movein classObservableList<E>- Parameters:
oldIndex- the element's position before the move. Must be within the range0 <= oldIndex < size().newIndex- the element's position after the move. Must be within the range0 <= newIndex < size().- Returns:
- the element that was moved.
- Since:
- 1.1
- See Also:
-
remove
- Specified by:
removein interfaceIObservableList<E>- Specified by:
removein interfaceList<E>- Overrides:
removein classObservableList<E>
-
add
- Specified by:
addin interfaceCollection<E>- Specified by:
addin interfaceIObservableList<E>- Specified by:
addin interfaceList<E>- Overrides:
addin classObservableList<E>
-
add
-
addAll
- Specified by:
addAllin interfaceCollection<E>- Specified by:
addAllin interfaceIObservableList<E>- Specified by:
addAllin interfaceList<E>- Overrides:
addAllin classObservableList<E>
-
addAll
- Specified by:
addAllin interfaceIObservableList<E>- Specified by:
addAllin interfaceList<E>- Overrides:
addAllin classObservableList<E>
-
remove
- Specified by:
removein interfaceCollection<E>- Specified by:
removein interfaceIObservableList<E>- Specified by:
removein interfaceList<E>- Overrides:
removein classObservableList<E>
-
removeAll
- Specified by:
removeAllin interfaceCollection<E>- Specified by:
removeAllin interfaceIObservableList<E>- Specified by:
removeAllin interfaceList<E>- Overrides:
removeAllin classObservableList<E>
-
retainAll
- Specified by:
retainAllin interfaceCollection<E>- Specified by:
retainAllin interfaceIObservableList<E>- Specified by:
retainAllin interfaceList<E>- Overrides:
retainAllin classObservableList<E>
-
clear
public void clear()- Specified by:
clearin interfaceCollection<E>- Specified by:
clearin interfaceList<E>- Overrides:
clearin classObservableList<E>
-
withElementType
- Parameters:
elementType- can benull- Returns:
- new list with the default realm.
-
addListener
- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to add; notnull
-
removeListener
- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to remove; notnull
-
hasListeners
protected boolean hasListeners() -
fireEvent
-
firstListenerAdded
protected void firstListenerAdded() -
lastListenerRemoved
protected void lastListenerRemoved() -
getRealm
- Returns:
- Returns the realm.
-
clone
- Overrides:
clonein classObject- Throws:
CloneNotSupportedException
-