Class DecoratingObservableList<E>
- java.lang.Object
-
- org.eclipse.core.databinding.observable.AbstractObservable
-
- org.eclipse.core.databinding.observable.DecoratingObservable
-
- org.eclipse.core.databinding.observable.DecoratingObservableCollection<E>
-
- org.eclipse.core.databinding.observable.list.DecoratingObservableList<E>
-
- Type Parameters:
E- the list element type
- All Implemented Interfaces:
java.lang.Iterable<E>,java.util.Collection<E>,java.util.List<E>,IDecoratingObservable,IObservable,IObservableCollection<E>,IObservableList<E>
public class DecoratingObservableList<E> extends DecoratingObservableCollection<E> implements IObservableList<E>
An observable list which decorates another observable list.- Since:
- 1.2
- Implementation Note:
- If methods are added to the interface which this class implements then implementations of those methods must be added to this class.
-
-
Constructor Summary
Constructors Constructor Description DecoratingObservableList(IObservableList<E> decorated, boolean disposeDecoratedOnDispose)Constructs a DecoratingObservableList which decorates the given observable.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(int index, E o)booleanaddAll(int index, java.util.Collection<? extends E> c)voidaddListChangeListener(IListChangeListener<? super E> listener)Adds the given list change listener to the list of list change listeners.protected voidaddListener(java.lang.Object listenerType, IObservablesListener listener)protected java.lang.Objectclone()voiddispose()Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.protected voidfireChange()protected voidfireEvent(ObservableEvent event)protected voidfireListChange(ListDiff<E> diff)protected voidfirstListenerAdded()Eget(int index)RealmgetRealm()protected voidhandleListChange(ListChangeEvent<? extends E> event)Called whenever a ListChangeEvent is received from the decorated observable.protected booleanhasListeners()intindexOf(java.lang.Object o)intlastIndexOf(java.lang.Object o)protected voidlastListenerRemoved()java.util.ListIterator<E>listIterator()java.util.ListIterator<E>listIterator(int index)Emove(int oldIndex, int newIndex)Moves the element located atoldIndextonewIndex.Eremove(int index)voidremoveListChangeListener(IListChangeListener<? super E> listener)Removes the given list change listener from the list of list change listeners.protected voidremoveListener(java.lang.Object listenerType, IObservablesListener listener)Eset(int index, E element)java.util.List<E>subList(int fromIndex, int toIndex)-
Methods inherited from class org.eclipse.core.databinding.observable.DecoratingObservableCollection
add, addAll, clear, contains, containsAll, equals, getElementType, hashCode, isEmpty, iterator, remove, removeAll, retainAll, size, toArray, toArray, toString
-
Methods inherited from class org.eclipse.core.databinding.observable.DecoratingObservable
getDecorated, getterCalled, handleStaleEvent, isStale
-
Methods inherited from class org.eclipse.core.databinding.observable.AbstractObservable
addChangeListener, addDisposeListener, addStaleListener, checkRealm, fireStale, isDisposed, removeChangeListener, removeDisposeListener, removeStaleListener
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.eclipse.core.databinding.observable.IObservable
addChangeListener, addDisposeListener, addStaleListener, getRealm, isDisposed, isStale, removeChangeListener, removeDisposeListener, removeStaleListener
-
-
-
-
Constructor Detail
-
DecoratingObservableList
public DecoratingObservableList(IObservableList<E> decorated, boolean disposeDecoratedOnDispose)
Constructs a DecoratingObservableList which decorates the given observable.- Parameters:
decorated- the observable list being decorateddisposeDecoratedOnDispose- whether the decorated observable should be disposed when the decorator is disposed
-
-
Method Detail
-
addListChangeListener
public void addListChangeListener(IListChangeListener<? super E> listener)
Description copied from interface:IObservableListAdds the given list change listener to the list of list change listeners.- Specified by:
addListChangeListenerin interfaceIObservableList<E>- Parameters:
listener- the change listener to add; notnull
-
removeListChangeListener
public void removeListChangeListener(IListChangeListener<? super E> listener)
Description copied from interface:IObservableListRemoves the given list change listener from the list of list change listeners. Has no effect if the given listener is not registered as a list change listener.- Specified by:
removeListChangeListenerin interfaceIObservableList<E>- Parameters:
listener- the change listener to remove; notnull
-
fireChange
protected void fireChange()
- Overrides:
fireChangein classAbstractObservable
-
firstListenerAdded
protected void firstListenerAdded()
- Overrides:
firstListenerAddedin classDecoratingObservable
-
lastListenerRemoved
protected void lastListenerRemoved()
- Overrides:
lastListenerRemovedin classDecoratingObservable
-
handleListChange
protected void handleListChange(ListChangeEvent<? extends E> event)
Called whenever a ListChangeEvent is received from the decorated observable. By default, this method fires the list change event again, with the decorating observable as the event source. Subclasses may override to provide different behavior.- Parameters:
event- the change event received from the decorated observable
-
addAll
public boolean addAll(int index, java.util.Collection<? extends E> c)- Specified by:
addAllin interfaceIObservableList<E>- Specified by:
addAllin interfacejava.util.List<E>
-
get
public E get(int index)
- Specified by:
getin interfaceIObservableList<E>- Specified by:
getin interfacejava.util.List<E>
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOfin interfaceIObservableList<E>- Specified by:
indexOfin interfacejava.util.List<E>
-
lastIndexOf
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOfin interfaceIObservableList<E>- Specified by:
lastIndexOfin interfacejava.util.List<E>
-
listIterator
public java.util.ListIterator<E> listIterator()
- Specified by:
listIteratorin interfaceIObservableList<E>- Specified by:
listIteratorin interfacejava.util.List<E>
-
listIterator
public java.util.ListIterator<E> listIterator(int index)
- Specified by:
listIteratorin interfaceIObservableList<E>- Specified by:
listIteratorin interfacejava.util.List<E>
-
move
public E move(int oldIndex, int newIndex)
Description copied from interface:IObservableListMoves the element located atoldIndextonewIndex. This method is equivalent to callingadd(newIndex, remove(oldIndex)).Implementors should 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>- 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.
- See Also:
ListDiffVisitor.handleMove(int, int, Object),ListDiff.accept(ListDiffVisitor)
-
remove
public E remove(int index)
- Specified by:
removein interfaceIObservableList<E>- Specified by:
removein interfacejava.util.List<E>
-
set
public E set(int index, E element)
- Specified by:
setin interfaceIObservableList<E>- Specified by:
setin interfacejava.util.List<E>
-
subList
public java.util.List<E> subList(int fromIndex, int toIndex)
- Specified by:
subListin interfaceIObservableList<E>- Specified by:
subListin interfacejava.util.List<E>
-
dispose
public void dispose()
Description copied from interface:IObservableDisposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.- Specified by:
disposein interfaceIObservable- Overrides:
disposein classDecoratingObservableCollection<E>
-
addListener
protected void addListener(java.lang.Object listenerType, IObservablesListener listener)- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to add; notnull
-
removeListener
protected void removeListener(java.lang.Object listenerType, IObservablesListener listener)- Parameters:
listenerType- arbitrary object to identify a type of the listenerlistener- the listener to remove; notnull
-
hasListeners
protected boolean hasListeners()
-
fireEvent
protected void fireEvent(ObservableEvent event)
-
getRealm
public Realm getRealm()
- Returns:
- Returns the realm.
-
clone
protected java.lang.Object clone() throws java.lang.CloneNotSupportedException- Overrides:
clonein classjava.lang.Object- Throws:
java.lang.CloneNotSupportedException
-
-