Package org.eclipse.emf.compare.rcp.ui.internal.contentmergeviewer.accessor.impl

## Class ManyStructuralFeatureAccessorImpl

- java.lang.Object
- - org.eclipse.emf.compare.rcp.ui.contentmergeviewer.accessor.legacy.impl.AbstractTypedElementAdapter
  - - org.eclipse.emf.compare.rcp.ui.internal.contentmergeviewer.accessor.impl.AbstractStructuralFeatureAccessor
    - - org.eclipse.emf.compare.rcp.ui.internal.contentmergeviewer.accessor.impl.ManyStructuralFeatureAccessorImpl

All Implemented Interfaces:
  `ICompareAccessor`, `IStructuralFeatureAccessor`, `ITypedElement`

    public class ManyStructuralFeatureAccessorImpl
    extends AbstractStructuralFeatureAccessor

A specific `AbstractStructuralFeatureAccessor` for multi-valued structural feature objects.

Since:
  4.0

### Field Summary

### Fields inherited from interface org.eclipse.emf.compare.rcp.ui.contentmergeviewer.accessor.legacy.ITypedElement

`FOLDER_TYPE, TEXT_TYPE, UNKNOWN_TYPE`

### Constructor Summary

Constructors
`ManyStructuralFeatureAccessorImpl​(AdapterFactory adapterFactory, Diff diff, IMergeViewer.MergeViewerSide side)` Default constructor.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected int` `findInsertionIndex​(Diff diff, boolean rightToLeft)` Find the insertion index for the given diff.
`protected Object` `getDiffValue​(Diff diff)` Returns either `ReferenceChange.getValue()`, `AttributeChange.getValue()` or a `FeatureMapChange.getValue()` depending on the runtime type of the give, `diff` or null otherwise.
`protected List<?>` `getFeatureValues​(IMergeViewer.MergeViewerSide side)` Returns the values of the current feature on the given side.
`com.google.common.collect.ImmutableList<? extends IMergeViewerItem>` `getItems()` Returns the list of items known by this accessor.
`protected Object` `getValueFromDiff​(Diff diff, IMergeViewer.MergeViewerSide side)` Get the value of the given side associated to the given Diff.

### Methods inherited from class org.eclipse.emf.compare.rcp.ui.internal.contentmergeviewer.accessor.impl.AbstractStructuralFeatureAccessor

`computeDifferences, getAffectedFeature, getComparison, getDifferences, getEObject, getImage, getInitialDiff, getInitialItem, getName, getSide, getStructuralFeature, getType`

### Methods inherited from class org.eclipse.emf.compare.rcp.ui.contentmergeviewer.accessor.legacy.impl.AbstractTypedElementAdapter

`getAdapterFactory, getItemDelegator, getRootAdapterFactory`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ManyStructuralFeatureAccessorImpl

    public ManyStructuralFeatureAccessorImpl​(AdapterFactory adapterFactory,
                                             Diff diff,
                                             IMergeViewer.MergeViewerSide side)

Default constructor.

Parameters:
  `adapterFactory` - the adapater factory used to create the accessor.
  `diff` - the diff associated with this accessor.
  `side` - the side of the accessor.

### Method Detail

#### getItems

    public com.google.common.collect.ImmutableList<? extends IMergeViewerItem> getItems()

Returns the list of items known by this accessor.

Returns:
  the list of items known by this accessor.
See Also:
  `ICompareAccessor.getItems()`

#### findInsertionIndex

    protected int findInsertionIndex​(Diff diff,
                                     boolean rightToLeft)

Find the insertion index for the given diff.

Parameters:
  `diff` - the given diff.
  `rightToLeft` - the way of merge.
Returns:
  the insertion index.

#### getValueFromDiff

    protected Object getValueFromDiff​(Diff diff,
                                      IMergeViewer.MergeViewerSide side)

Get the value of the given side associated to the given Diff.

Parameters:
  `diff` - the given Diff.
  `side` - the side of the Diff.
Returns:
  the value associated to the given Diff.

#### getFeatureValues

    protected List<?> getFeatureValues​(IMergeViewer.MergeViewerSide side)

Returns the values of the current feature on the given side.

Parameters:
  `side` - the given side.
Returns:
  the values of the current feature on the given side.

#### getDiffValue

    protected Object getDiffValue​(Diff diff)

Returns either `ReferenceChange.getValue()`, `AttributeChange.getValue()` or a `FeatureMapChange.getValue()` depending on the runtime type of the give, `diff` or null otherwise.

Parameters:
  `diff` - the given Diff.
Returns:
  the value of the given Diff.