Package org.eclipse.emf.compare.rcp.ui.mergeviewer.item.provider

## Interface IMergeViewerItemProvider

All Superinterfaces:
  `IOptionalProvider`

All Known Implementing Classes:
  `CompareAccessorMergeViewerItemProvider`

    public interface IMergeViewerItemProvider
    extends IOptionalProvider

The contract for providers responsible for determining root elements in merge viewers. Typically these are `IMergeViewerItem`s but they not necessarily have to be.

Since:
  4.4

### Method Summary

All Methods Instance Methods Abstract Methods
`Object` `getItemToSelect​(Object object, IMergeViewerItemProviderConfiguration configuration)` Determine the merge viewer item which shall be selected.
`List<Object>` `getMergeViewerItems​(Object object, IMergeViewerItemProviderConfiguration configuration)` Determine the root merge viewer items for the given `object`.

### Methods inherited from interface org.eclipse.emf.compare.rcp.ui.mergeviewer.item.provider.IOptionalProvider

`canHandle`

### Method Detail

#### getMergeViewerItems

    List<Object> getMergeViewerItems​(Object object,
                                     IMergeViewerItemProviderConfiguration configuration)

Determine the root merge viewer items for the given `object`.

Parameters:
  `object` - the `Object` for which the root merge viewer items are to be determined.
  `configuration` - the `IMergeViewerItemProviderConfiguration`.
Returns:
  a list of the root elements.

#### getItemToSelect

    Object getItemToSelect​(Object object,
                           IMergeViewerItemProviderConfiguration configuration)

Determine the merge viewer item which shall be selected.

Parameters:
  `object` - the `Object` for which the selected merge viewer item is to be determined.
  `configuration` - the `IMergeViewerItemProviderConfiguration`.
Returns:
  the merge viewer item to select.