Class MultiList<E>
- java.lang.Object
-
- java.util.AbstractCollection<E>
-
- java.util.AbstractList<E>
-
- org.eclipse.core.databinding.observable.list.AbstractObservableList<E>
-
- org.eclipse.core.databinding.observable.list.MultiList<E>
-
- Type Parameters:
E
- the type of the elements in the list
- All Implemented Interfaces:
Iterable<E>
,Collection<E>
,List<E>
,IObservable
,IObservableCollection<E>
,IObservableList<E>
public class MultiList<E> extends AbstractObservableList<E>
An observable list backed by an array of observable lists. This class supports all removal methods (includingclear()
), as well as theset(int, Object)
method. All other mutator methods (addition methods andmove(int, int)
) throw anUnsupportedOperationException
.- Since:
- 1.2
-
-
Field Summary
-
Fields inherited from class java.util.AbstractList
modCount
-
-
Constructor Summary
Constructors Constructor Description MultiList(List<IObservableList<E>> lists)
Constructs a MultiList in the default realm, and backed by the given observable lists.MultiList(List<IObservableList<E>> lists, Object elementType)
Constructs a MultiList in the default realm backed by the given observable lists.MultiList(IObservableList<E>[] lists)
Deprecated.useMultiList(List)
insteadMultiList(IObservableList<E>[] lists, Object elementType)
Deprecated.useMultiList(List, Object)
insteadMultiList(Realm realm, List<IObservableList<E>> lists, Object elementType)
Constructs a MultiList belonging to the given realm, and backed by the given observable lists.MultiList(Realm realm, IObservableList<E>[] lists)
Constructs a MultiList belonging to the given realm, and backed by the given observable lists.MultiList(Realm realm, IObservableList<E>[] lists, Object elementType)
Deprecated.useMultiList(Realm, List, Object)
instead
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(int index, Object o)
boolean
add(Object o)
boolean
addAll(int index, Collection<? extends E> c)
boolean
addAll(Collection<? extends E> c)
void
clear()
boolean
contains(Object o)
void
dispose()
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.protected int
doGetSize()
boolean
equals(Object o)
protected void
firstListenerAdded()
E
get(int index)
Object
getElementType()
Returns the element type of this observable collection, ornull
if this observable collection is untyped.int
hashCode()
int
indexOf(Object o)
boolean
isEmpty()
boolean
isStale()
Returns whether the state of this observable is stale and is expected to change soon.Iterator<E>
iterator()
int
lastIndexOf(Object o)
protected void
lastListenerRemoved()
ListIterator<E>
listIterator(int index)
E
move(int oldIndex, int newIndex)
Moves the element located atoldIndex
tonewIndex
.E
remove(int index)
boolean
remove(Object o)
boolean
removeAll(Collection<?> c)
boolean
retainAll(Collection<?> c)
E
set(int index, E o)
-
Methods inherited from class org.eclipse.core.databinding.observable.list.AbstractObservableList
addChangeListener, addDisposeListener, addListChangeListener, addStaleListener, checkRealm, containsAll, fireChange, fireListChange, fireStale, getRealm, hasListeners, isDisposed, removeChangeListener, removeDisposeListener, removeListChangeListener, removeStaleListener, size, toArray, toArray
-
Methods inherited from class java.util.AbstractList
listIterator, removeRange, subList
-
Methods inherited from class java.util.AbstractCollection
toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream, toArray
-
Methods inherited from interface org.eclipse.core.databinding.observable.list.IObservableList
listIterator, subList
-
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
-
-
-
Constructor Detail
-
MultiList
@Deprecated public MultiList(IObservableList<E>[] lists)
Deprecated.useMultiList(List)
insteadConstructs a MultiList in the default realm, and backed by the given observable lists.- Parameters:
lists
- the array of observable lists backing this MultiList.
-
MultiList
public MultiList(List<IObservableList<E>> lists)
Constructs a MultiList in the default realm, and backed by the given observable lists.- Parameters:
lists
- the array of observable lists backing this MultiList.- Since:
- 1.6
-
MultiList
@Deprecated public MultiList(IObservableList<E>[] lists, Object elementType)
Deprecated.useMultiList(List, Object)
insteadConstructs a MultiList in the default realm backed by the given observable lists.- Parameters:
lists
- the array of observable lists backing this MultiList.elementType
- element type of the constructed list.
-
MultiList
public MultiList(List<IObservableList<E>> lists, Object elementType)
Constructs a MultiList in the default realm backed by the given observable lists.- Parameters:
lists
- the array of observable lists backing this MultiList.elementType
- element type of the constructed list.- Since:
- 1.6
-
MultiList
public MultiList(Realm realm, IObservableList<E>[] lists)
Constructs a MultiList belonging to the given realm, and backed by the given observable lists.- Parameters:
realm
- the observable's realmlists
- the array of observable lists backing this MultiList
-
MultiList
@Deprecated public MultiList(Realm realm, IObservableList<E>[] lists, Object elementType)
Deprecated.useMultiList(Realm, List, Object)
insteadConstructs a MultiList belonging to the given realm, and backed by the given observable lists.- Parameters:
realm
- the observable's realmlists
- the array of observable lists backing this MultiListelementType
- element type of the constructed list.
-
MultiList
public MultiList(Realm realm, List<IObservableList<E>> lists, Object elementType)
Constructs a MultiList belonging to the given realm, and backed by the given observable lists.- Parameters:
realm
- the observable's realmlists
- the array of observable lists backing this MultiListelementType
- element type of the constructed list.- Since:
- 1.6
-
-
Method Detail
-
firstListenerAdded
protected void firstListenerAdded()
- Overrides:
firstListenerAdded
in classAbstractObservableList<E>
-
lastListenerRemoved
protected void lastListenerRemoved()
- Overrides:
lastListenerRemoved
in classAbstractObservableList<E>
-
doGetSize
protected int doGetSize()
- Specified by:
doGetSize
in classAbstractObservableList<E>
- Returns:
- the size
-
getElementType
public Object getElementType()
Description copied from interface:IObservableCollection
Returns the element type of this observable collection, ornull
if this observable collection is untyped.- Returns:
- the type of the elements or
null
if untyped
-
add
public boolean add(Object o)
- Specified by:
add
in interfaceCollection<E>
- Specified by:
add
in interfaceIObservableList<E>
- Specified by:
add
in interfaceList<E>
- Overrides:
add
in classAbstractObservableList<E>
-
add
public void add(int index, Object o)
-
addAll
public boolean addAll(Collection<? extends E> c)
- Specified by:
addAll
in interfaceCollection<E>
- Specified by:
addAll
in interfaceIObservableList<E>
- Specified by:
addAll
in interfaceList<E>
- Overrides:
addAll
in classAbstractObservableList<E>
-
addAll
public boolean addAll(int index, Collection<? extends E> c)
- Specified by:
addAll
in interfaceIObservableList<E>
- Specified by:
addAll
in interfaceList<E>
- Overrides:
addAll
in classAbstractObservableList<E>
-
clear
public void clear()
- Specified by:
clear
in interfaceCollection<E>
- Specified by:
clear
in interfaceList<E>
- Overrides:
clear
in classAbstractList<E>
-
get
public E get(int index)
- Specified by:
get
in interfaceIObservableList<E>
- Specified by:
get
in interfaceList<E>
- Specified by:
get
in classAbstractList<E>
-
contains
public boolean contains(Object o)
- Specified by:
contains
in interfaceCollection<E>
- Specified by:
contains
in interfaceIObservableList<E>
- Specified by:
contains
in interfaceList<E>
- Overrides:
contains
in classAbstractObservableList<E>
-
equals
public boolean equals(Object o)
- Specified by:
equals
in interfaceCollection<E>
- Specified by:
equals
in interfaceIObservableList<E>
- Specified by:
equals
in interfaceList<E>
- Overrides:
equals
in classAbstractObservableList<E>
-
hashCode
public int hashCode()
- Specified by:
hashCode
in interfaceCollection<E>
- Specified by:
hashCode
in interfaceIObservableList<E>
- Specified by:
hashCode
in interfaceList<E>
- Overrides:
hashCode
in classAbstractObservableList<E>
-
indexOf
public int indexOf(Object o)
- Specified by:
indexOf
in interfaceIObservableList<E>
- Specified by:
indexOf
in interfaceList<E>
- Overrides:
indexOf
in classAbstractObservableList<E>
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty
in interfaceCollection<E>
- Specified by:
isEmpty
in interfaceIObservableList<E>
- Specified by:
isEmpty
in interfaceList<E>
- Overrides:
isEmpty
in classAbstractObservableList<E>
-
iterator
public Iterator<E> iterator()
- Specified by:
iterator
in interfaceCollection<E>
- Specified by:
iterator
in interfaceIObservableList<E>
- Specified by:
iterator
in interfaceIterable<E>
- Specified by:
iterator
in interfaceList<E>
- Overrides:
iterator
in classAbstractObservableList<E>
-
lastIndexOf
public int lastIndexOf(Object o)
- Specified by:
lastIndexOf
in interfaceIObservableList<E>
- Specified by:
lastIndexOf
in interfaceList<E>
- Overrides:
lastIndexOf
in classAbstractObservableList<E>
-
listIterator
public ListIterator<E> listIterator(int index)
- Specified by:
listIterator
in interfaceIObservableList<E>
- Specified by:
listIterator
in interfaceList<E>
- Overrides:
listIterator
in classAbstractList<E>
-
move
public E move(int oldIndex, int newIndex)
Description copied from class:AbstractObservableList
Moves the element located atoldIndex
tonewIndex
. 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:
move
in interfaceIObservableList<E>
- Overrides:
move
in classAbstractObservableList<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 boolean remove(Object o)
- Specified by:
remove
in interfaceCollection<E>
- Specified by:
remove
in interfaceIObservableList<E>
- Specified by:
remove
in interfaceList<E>
- Overrides:
remove
in classAbstractObservableList<E>
-
remove
public E remove(int index)
- Specified by:
remove
in interfaceIObservableList<E>
- Specified by:
remove
in interfaceList<E>
- Overrides:
remove
in classAbstractList<E>
-
removeAll
public boolean removeAll(Collection<?> c)
- Specified by:
removeAll
in interfaceCollection<E>
- Specified by:
removeAll
in interfaceIObservableList<E>
- Specified by:
removeAll
in interfaceList<E>
- Overrides:
removeAll
in classAbstractObservableList<E>
-
retainAll
public boolean retainAll(Collection<?> c)
- Specified by:
retainAll
in interfaceCollection<E>
- Specified by:
retainAll
in interfaceIObservableList<E>
- Specified by:
retainAll
in interfaceList<E>
- Overrides:
retainAll
in classAbstractObservableList<E>
-
set
public E set(int index, E o)
- Specified by:
set
in interfaceIObservableList<E>
- Specified by:
set
in interfaceList<E>
- Overrides:
set
in classAbstractList<E>
-
isStale
public boolean isStale()
Description copied from interface:IObservable
Returns whether the state of this observable is stale and is expected to change soon. A non-stale observable that becomes stale will notify its stale listeners. A stale object that becomes non-stale does so by changing its state and notifying its change listeners, it does not notify its stale listeners about becoming non-stale. Clients that do not expect asynchronous changes may ignore staleness of observable objects.- Specified by:
isStale
in interfaceIObservable
- Overrides:
isStale
in classAbstractObservableList<E>
- Returns:
- true if this observable's state is stale and will change soon.
-
dispose
public void dispose()
Description copied from interface:IObservable
Disposes of this observable object, removing all listeners registered with this object, and all listeners this object might have registered on other objects.- Specified by:
dispose
in interfaceIObservable
- Overrides:
dispose
in classAbstractObservableList<E>
-
-