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
Constructor
Description
`ManyStructuralFeatureAccessorImpl(AdapterFactory adapterFactory, Diff diff, IMergeViewer.MergeViewerSide side)`
Default constructor.

## Method Summary

Modifier and Type
Method
Description
`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 Details

### 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 Details

### 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.