Eclipse Platform Release 3.7

## org.eclipse.jface.databinding.viewers
Class ObservableListContentProvider

    java.lang.Object
      org.eclipse.jface.databinding.viewers.ObservableListContentProvider

All Implemented Interfaces:
  IContentProvider, IStructuredContentProvider

    public class ObservableListContentProvider

extends Object
implements IStructuredContentProvider

A `content provider` for `AbstractTableViewer` or `AbstractListViewer` that provides elements of an `IObservableList` when set as the viewer's input. Objects of this class listen for changes to the observable list, and will insert and remove viewer elements to reflect observed changes.

Since:
  1.1
Restriction:
  This class is not intended to be subclassed by clients.

Constructor Summary
`ObservableListContentProvider()` Constructs an ObservableListContentProvider.
`ObservableListContentProvider(IViewerUpdater viewerUpdater)` Constructs an ObservableListContentProvider with the given viewer updater.

Method Summary
`void` `dispose()` Disposes of this content provider.
`Object[]` `getElements(Object inputElement)` Returns the elements to display in the viewer when its input is set to the given element.
`IObservableSet` `getKnownElements()` Returns the set of elements known to this content provider.
`IObservableSet` `getRealizedElements()` Returns the set of known elements which have been realized in the viewer.
`void` `inputChanged(Viewer viewer, Object oldInput, Object newInput)` Notifies this content provider that the given viewer's input has been switched to a different element.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### ObservableListContentProvider

    public ObservableListContentProvider()

  Constructs an ObservableListContentProvider. Must be called from the display thread.

### ObservableListContentProvider

    public ObservableListContentProvider(IViewerUpdater viewerUpdater)

  Constructs an ObservableListContentProvider with the given viewer updater. Must be called from the display thread.

  Parameters:
    `viewerUpdater` - the viewer updater to use when elements are added, removed, moved or replaced in the input observable list.
  Since:
    1.3

Method Detail

### inputChanged

    public void inputChanged(Viewer viewer,
                             Object oldInput,
                             Object newInput)

  Description copied from interface: `IContentProvider`
  Notifies this content provider that the given viewer's input has been switched to a different element.

  A typical use for this method is registering the content provider as a listener to changes on the new input (using model-specific means), and deregistering the viewer from the old input. In response to these change notifications, the content provider should update the viewer (see the add, remove, update and refresh methods on the viewers).

  The viewer should not be updated during this call, as it might be in the process of being disposed.

  Specified by:
    `inputChanged` in interface `IContentProvider`
  Parameters:
    `viewer` - the viewer
    `oldInput` - the old input element, or `null` if the viewer did not previously have an input
    `newInput` - the new input element, or `null` if the viewer does not have an input

### getElements

    public Object[] getElements(Object inputElement)

  Description copied from interface: `IStructuredContentProvider`
  Returns the elements to display in the viewer when its input is set to the given element. These elements can be presented as rows in a table, items in a list, etc. The result is not modified by the viewer.

  Specified by:
    `getElements` in interface `IStructuredContentProvider`
  Parameters:
    `inputElement` - the input element
  Returns:
    the array of elements to display in the viewer

### dispose

    public void dispose()

  Disposes of this content provider. This is called by the viewer when a content provider is replaced, or when the viewer itself is disposed.

  The viewer should not be updated during this call, as it is in the process of being disposed.

  Note: Data binding content providers become unusable on disposal.

  Specified by:
    `dispose` in interface `IContentProvider`

### getKnownElements

    public IObservableSet getKnownElements()

  Returns the set of elements known to this content provider. Label providers may track this set if they need to be notified about additions before the viewer sees the added element, and notified about removals after the element was removed from the viewer. This is intended for use by label providers, as it will always return the items that need labels.

  Returns:
    readableSet of items that will need labels

### getRealizedElements

    public IObservableSet getRealizedElements()

  Returns the set of known elements which have been realized in the viewer. Clients may track this set in order to perform custom actions on elements while they are known to be present in the viewer.

  Returns:
    the set of known elements which have been realized in the viewer.
  Since:
    1.3

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

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