Eclipse Platform Release 3.7

## org.eclipse.core.databinding.observable.list
Class ObservableList

    java.lang.Object
      org.eclipse.core.databinding.observable.AbstractObservable
          org.eclipse.core.databinding.observable.list.ObservableList

All Implemented Interfaces:
  Iterable, Collection, List, IObservable, IObservableCollection, IObservableList

Direct Known Subclasses:
  WritableList

    public abstract class ObservableList

extends AbstractObservable
implements IObservableList

Abstract implementation of `IObservableList`, based on an underlying regular list.

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
`protected List` `wrappedList`

Constructor Summary
`protected` `ObservableList(List wrappedList, Object elementType)`
`protected` `ObservableList(Realm realm, List wrappedList, Object elementType)`

Method Summary
`void` `add(int index, Object element)`
`boolean` `add(Object o)`
`boolean` `addAll(Collection c)`
`boolean` `addAll(int index, Collection c)`
`void` `addListChangeListener(IListChangeListener listener)` Adds the given list change listener to the list of list change listeners.
`protected void` `addListener(Object listenerType, IObservablesListener listener)`
`void` `clear()`
`protected Object` `clone()`
`boolean` `contains(Object o)`
`boolean` `containsAll(Collection c)`
`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.
`boolean` `equals(Object o)`
`protected void` `fireChange()`
`protected void` `fireEvent(ObservableEvent event)`
`protected void` `fireListChange(ListDiff diff)`
`protected void` `firstListenerAdded()`
`Object` `get(int index)`
`Object` `getElementType()` Returns the element type of this observable collection, or `null` if this observable collection is untyped.
`Realm` `getRealm()`
`protected void` `getterCalled()`
`int` `hashCode()`
`protected boolean` `hasListeners()`
`int` `indexOf(Object o)`
`boolean` `isEmpty()`
`boolean` `isStale()` Returns the stale state.
`Iterator` `iterator()`
`int` `lastIndexOf(Object o)`
`protected void` `lastListenerRemoved()`
`ListIterator` `listIterator()`
`ListIterator` `listIterator(int index)`
`Object` `move(int oldIndex, int newIndex)` Moves the element located at `oldIndex` to `newIndex`.
`Object` `remove(int index)`
`boolean` `remove(Object o)`
`boolean` `removeAll(Collection c)`
`void` `removeListChangeListener(IListChangeListener listener)` Removes the given list change listener from the list of list change listeners.
`protected void` `removeListener(Object listenerType, IObservablesListener listener)`
`boolean` `retainAll(Collection c)`
`Object` `set(int index, Object element)`
`void` `setStale(boolean stale)` Sets the stale state.
`int` `size()`
`List` `subList(int fromIndex, int toIndex)`
`Object[]` `toArray()`
`Object[]` `toArray(Object[] a)`
`String` `toString()`
`protected void` `updateWrappedList(List newList)`

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, removeChangeListener, removeDisposeListener, removeStaleListener`

Field Detail

### wrappedList

    protected List wrappedList

Constructor Detail

### ObservableList

    protected ObservableList(List wrappedList,
                             Object elementType)

### ObservableList

    protected ObservableList(Realm realm,
                             List wrappedList,
                             Object elementType)

Method Detail

### addListChangeListener

    public void addListChangeListener(IListChangeListener listener)

  Description copied from interface: `IObservableList`
  Adds the given list change listener to the list of list change listeners.

  Specified by:
    `addListChangeListener` in interface `IObservableList`

### removeListChangeListener

    public void removeListChangeListener(IListChangeListener listener)

  Description copied from interface: `IObservableList`
  Removes 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:
    `removeListChangeListener` in interface `IObservableList`

### fireListChange

    protected void fireListChange(ListDiff diff)

### contains

    public boolean contains(Object o)

  Specified by:
    `contains` in interface `Collection`
  Specified by:
    `contains` in interface `List`
  Specified by:
    `contains` in interface `IObservableList`

### containsAll

    public boolean containsAll(Collection c)

  Specified by:
    `containsAll` in interface `Collection`
  Specified by:
    `containsAll` in interface `List`
  Specified by:
    `containsAll` in interface `IObservableList`

### equals

    public boolean equals(Object o)

  Specified by:
    `equals` in interface `Collection`
  Specified by:
    `equals` in interface `List`
  Specified by:
    `equals` in interface `IObservableList`
  Overrides:
    `equals` in class `Object`

### hashCode

    public int hashCode()

  Specified by:
    `hashCode` in interface `Collection`
  Specified by:
    `hashCode` in interface `List`
  Specified by:
    `hashCode` in interface `IObservableList`
  Overrides:
    `hashCode` in class `Object`

### isEmpty

    public boolean isEmpty()

  Specified by:
    `isEmpty` in interface `Collection`
  Specified by:
    `isEmpty` in interface `List`
  Specified by:
    `isEmpty` in interface `IObservableList`

### iterator

    public Iterator iterator()

  Specified by:
    `iterator` in interface `Iterable`
  Specified by:
    `iterator` in interface `Collection`
  Specified by:
    `iterator` in interface `List`
  Specified by:
    `iterator` in interface `IObservableList`

### size

    public int size()

  Specified by:
    `size` in interface `Collection`
  Specified by:
    `size` in interface `List`
  Specified by:
    `size` in interface `IObservableList`

### toArray

    public Object[] toArray()

  Specified by:
    `toArray` in interface `Collection`
  Specified by:
    `toArray` in interface `List`
  Specified by:
    `toArray` in interface `IObservableList`

### toArray

    public Object[] toArray(Object[] a)

  Specified by:
    `toArray` in interface `Collection`
  Specified by:
    `toArray` in interface `List`
  Specified by:
    `toArray` in interface `IObservableList`

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`

### get

    public Object get(int index)

  Specified by:
    `get` in interface `List`
  Specified by:
    `get` in interface `IObservableList`
  "TrackedGetter"

### indexOf

    public int indexOf(Object o)

  Specified by:
    `indexOf` in interface `List`
  Specified by:
    `indexOf` in interface `IObservableList`
  "TrackedGetter"

### lastIndexOf

    public int lastIndexOf(Object o)

  Specified by:
    `lastIndexOf` in interface `List`
  Specified by:
    `lastIndexOf` in interface `IObservableList`
  "TrackedGetter"

### listIterator

    public ListIterator listIterator()

  Specified by:
    `listIterator` in interface `List`
  Specified by:
    `listIterator` in interface `IObservableList`
  "TrackedGetter"

### listIterator

    public ListIterator listIterator(int index)

  Specified by:
    `listIterator` in interface `List`
  Specified by:
    `listIterator` in interface `IObservableList`
  "TrackedGetter"

### subList

    public List subList(int fromIndex,
                        int toIndex)

  Specified by:
    `subList` in interface `List`
  Specified by:
    `subList` in interface `IObservableList`

### getterCalled

    protected void getterCalled()

### set

    public Object set(int index,
                      Object element)

  Specified by:
    `set` in interface `List`
  Specified by:
    `set` in interface `IObservableList`

### move

    public Object move(int oldIndex,
                       int newIndex)

  Moves the element located at `oldIndex` to `newIndex`. This method is equivalent to calling `add(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 interface `IObservableList`
  Parameters:
    `oldIndex` - the element's position before the move. Must be within the range `0 <= oldIndex < size()`.
    `newIndex` - the element's position after the move. Must be within the range `0 <= newIndex < size()`.
  Returns:
    the element that was moved.
  Throws:
    `IndexOutOfBoundsException` - if either argument is out of range ( `0 <= index < size()`).
  Since:
    1.1
  See Also:
    `ListDiffVisitor.handleMove(int, int, Object)`, `ListDiff.accept(ListDiffVisitor)`

### remove

    public Object remove(int index)

  Specified by:
    `remove` in interface `List`
  Specified by:
    `remove` in interface `IObservableList`

### add

    public boolean add(Object o)

  Specified by:
    `add` in interface `Collection`
  Specified by:
    `add` in interface `List`
  Specified by:
    `add` in interface `IObservableList`

### add

    public void add(int index,
                    Object element)

  Specified by:
    `add` in interface `List`

### addAll

    public boolean addAll(Collection c)

  Specified by:
    `addAll` in interface `Collection`
  Specified by:
    `addAll` in interface `List`
  Specified by:
    `addAll` in interface `IObservableList`

### addAll

    public boolean addAll(int index,
                          Collection c)

  Specified by:
    `addAll` in interface `List`
  Specified by:
    `addAll` in interface `IObservableList`

### remove

    public boolean remove(Object o)

  Specified by:
    `remove` in interface `Collection`
  Specified by:
    `remove` in interface `List`
  Specified by:
    `remove` in interface `IObservableList`

### removeAll

    public boolean removeAll(Collection c)

  Specified by:
    `removeAll` in interface `Collection`
  Specified by:
    `removeAll` in interface `List`
  Specified by:
    `removeAll` in interface `IObservableList`

### retainAll

    public boolean retainAll(Collection c)

  Specified by:
    `retainAll` in interface `Collection`
  Specified by:
    `retainAll` in interface `List`
  Specified by:
    `retainAll` in interface `IObservableList`

### clear

    public void clear()

  Specified by:
    `clear` in interface `Collection`
  Specified by:
    `clear` in interface `List`

### isStale

    public boolean isStale()

  Returns the stale state. Must be invoked from the current realm.

  Specified by:
    `isStale` in interface `IObservable`
  Returns:
    stale state

### setStale

    public void setStale(boolean stale)

  Sets the stale state. Must be invoked from the current realm.

  Parameters:
    `stale` - The stale state to list. This will fire a stale event if the given boolean is true and this observable list was not already stale.

### fireChange

    protected void fireChange()

  Overrides:
    `fireChange` in class `AbstractObservable`

### 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 interface `IObservable`
  Overrides:
    `dispose` in class `AbstractObservable`

### getElementType

    public Object getElementType()

  Description copied from interface: `IObservableCollection`
  Returns the element type of this observable collection, or `null` if this observable collection is untyped.

  Specified by:
    `getElementType` in interface `IObservableCollection`
  Specified by:
    `getElementType` in interface `IObservableList`
  Returns:
    the element type of this observable collection, or `null` if this observable collection is untyped.

### updateWrappedList

    protected void updateWrappedList(List newList)

### addListener

    protected void addListener(Object listenerType,
                               IObservablesListener listener)

  Parameters:
    `listenerType` -
    `listener` -

### removeListener

    protected void removeListener(Object listenerType,
                                  IObservablesListener listener)

  Parameters:
    `listenerType` -
    `listener` -

### hasListeners

    protected boolean hasListeners()

### fireEvent

    protected void fireEvent(ObservableEvent event)

### firstListenerAdded

    protected void firstListenerAdded()

### lastListenerRemoved

    protected void lastListenerRemoved()

### getRealm

    public Realm getRealm()

  Returns:
    Returns the realm.

### clone

    protected Object clone()
                    throws CloneNotSupportedException

  Overrides:
    `clone` in class `Object`
  Throws:
    `CloneNotSupportedException`

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.