Package org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.impl

# Class ThreeWayComparisonGroupProvider.CompositeConflict

java.lang.Object
org.eclipse.emf.common.notify.impl.BasicNotifierImpl
org.eclipse.emf.ecore.impl.BasicEObjectImpl
org.eclipse.emf.ecore.impl.MinimalEObjectImpl
org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container
org.eclipse.emf.compare.impl.ConflictImpl
org.eclipse.emf.compare.rcp.ui.internal.structuremergeviewer.groups.impl.ThreeWayComparisonGroupProvider.CompositeConflict

All Implemented Interfaces:
  `Notifier`, `Conflict`, `EObject`, `EStructuralFeature.Internal.DynamicValueHolder`, `InternalEObject`

Enclosing class:
  ThreeWayComparisonGroupProvider

public static class ThreeWayComparisonGroupProvider.CompositeConflict extends ConflictImpl
This extension of `Conflict` is used to handle `refined` diffs and to join conflicts for the SMV. If refining diffs are part of a conflict, we show their refined diffs instead. As we show refined diffs instead of the refining diffs, multiple conflicts may consequently include the same refined diffs. To avoid that, this extension of a conflict also joins such overlapping conflicts.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container

`MinimalEObjectImpl.Container.Dynamic`

## Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl

`MinimalEObjectImpl.Container`

## Nested classes/interfaces inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`BasicEObjectImpl.EPropertiesHolder, BasicEObjectImpl.EPropertiesHolderBaseImpl, BasicEObjectImpl.EPropertiesHolderImpl`

## Nested classes/interfaces inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

`BasicNotifierImpl.EAdapterList<E extends Object & Adapter>, BasicNotifierImpl.EObservableAdapterList, BasicNotifierImpl.EScannableAdapterList`

## Nested classes/interfaces inherited from interface org.eclipse.emf.ecore.InternalEObject

`InternalEObject.EStore`

## Field Summary

### Fields inherited from class org.eclipse.emf.compare.impl.ConflictImpl

`copyright, differences, kind, KIND_EDEFAULT`

### Fields inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container

`eContainer`

### Fields inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`EVIRTUAL_GET, EVIRTUAL_IS_SET, EVIRTUAL_NO_VALUE, EVIRTUAL_SET, EVIRTUAL_UNSET`

### Fields inherited from interface org.eclipse.emf.ecore.EStructuralFeature.Internal.DynamicValueHolder

`NIL`

### Fields inherited from interface org.eclipse.emf.ecore.InternalEObject

`EOPPOSITE_FEATURE_BASE`

## Constructor Summary

Constructors
Constructor
Description
`CompositeConflict(Conflict conflict)`
Creates a new composite conflict for the given conflict.

## Method Summary

Modifier and Type
Method
Description
`Set<Conflict>`
`getConflicts()`
Returns an unmodifiable view of the joined conflicts.
`EList<Diff>`
`getDifferences()`
Returns an EList built by aggregating the diffs of all the aggregated conflicts.
`ConflictKind`
`getKind()`
`void`
`join(ThreeWayComparisonGroupProvider.CompositeConflict conflict)`
Joins the provided composite conflict with this composite conflict.

### Methods inherited from class org.eclipse.emf.compare.impl.ConflictImpl

`eGet, eInverseAdd, eInverseRemove, eIsSet, eSet, eStaticClass, eUnset, getLeftDifferences, getRightDifferences, setKind, toString`

### Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl.Container

`eBasicSetContainer, eInternalContainer`

### Methods inherited from class org.eclipse.emf.ecore.impl.MinimalEObjectImpl

`dynamicGet, dynamicSet, dynamicUnset, eAdapters, eBasicAdapterArray, eBasicAdapterListeners, eBasicAdapters, eBasicHasAdapters, eBasicProperties, eBasicSetAdapterArray, eBasicSetAdapterListeners, eBasicSetContainer, eBasicSetContainerFeatureID, eBasicSetSettings, eBasicSettings, eClass, eContainerFeatureID, eContents, eCrossReferences, eDeliver, eDirectResource, eDynamicClass, eHasSettings, eIsProxy, eProperties, eProxyURI, eSetClass, eSetDeliver, eSetDirectResource, eSetProxyURI, eSettings`

### Methods inherited from class org.eclipse.emf.ecore.impl.BasicEObjectImpl

`eAddVirtualValue, eAllContents, eBaseStructuralFeatureID, eBasicRemoveFromContainer, eBasicRemoveFromContainerFeature, eBasicSetContainer, eComputeVirtualValuesCapacity, eContainer, eContainerAdapterArray, eContainingFeature, eContainmentFeature, eContainmentFeature, eContains, eDerivedOperationID, eDerivedOperationID, eDerivedStructuralFeatureID, eDerivedStructuralFeatureID, eDynamicBasicRemoveFromContainer, eDynamicFeature, eDynamicFeatureID, eDynamicGet, eDynamicGet, eDynamicGet, eDynamicInverseAdd, eDynamicInverseAdd, eDynamicInverseRemove, eDynamicInverseRemove, eDynamicInvoke, eDynamicInvoke, eDynamicIsSet, eDynamicIsSet, eDynamicIsSet, eDynamicSet, eDynamicSet, eDynamicSet, eDynamicUnset, eDynamicUnset, eDynamicUnset, eGet, eGet, eGet, eInternalResource, eInverseAdd, eInverseRemove, eInvocationDelegate, eInvoke, eInvoke, eIsSet, eObjectForURIFragmentSegment, eOpenGet, eOpenIsSet, eOpenSet, eOpenUnset, eRemoveVirtualValue, eResolveProxy, eResource, eSet, eSetResource, eSetStore, eSetting, eSettingDelegate, eSetVirtualIndexBits, eSetVirtualValue, eSetVirtualValues, eStaticFeatureCount, eStaticOperationCount, eStore, eUnset, eURIFragmentSegment, eVirtualBitCount, eVirtualGet, eVirtualGet, eVirtualIndex, eVirtualIndexBits, eVirtualIsSet, eVirtualSet, eVirtualUnset, eVirtualValue, eVirtualValues`

### Methods inherited from class org.eclipse.emf.common.notify.impl.BasicNotifierImpl

`eNotificationRequired, eNotify`

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

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

### Methods inherited from interface org.eclipse.emf.ecore.EObject

`eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset`

### Methods inherited from interface org.eclipse.emf.ecore.InternalEObject

`eNotificationRequired`

### Methods inherited from interface org.eclipse.emf.common.notify.Notifier

`eAdapters, eDeliver, eNotify, eSetDeliver`

## Constructor Details

### CompositeConflict

public CompositeConflict(Conflict conflict)
Creates a new composite conflict for the given conflict.

Parameters:
  `conflict` - The conflict to create a composite conflict for, must not be `null` and must have a non-`null` `kind`.

## Method Details

### getKind

public ConflictKind getKind()
Description copied from class: `ConflictImpl`

Specified by:
  `getKind` in interface `Conflict`
Overrides:
  `getKind` in class `ConflictImpl`
Returns:
  the value of the 'Kind' attribute.
See Also:
  - `ConflictKind`
  - `Conflict.setKind(ConflictKind)`
  - `ComparePackage.getConflict_Kind()`

### getDifferences

public EList<Diff> getDifferences()
Returns an EList built by aggregating the diffs of all the aggregated conflicts.

This list is not supposed to be used for update, since modifying this list will not modify the underlying conflicts.

Specified by:
  `getDifferences` in interface `Conflict`
Overrides:
  `getDifferences` in class `ConflictImpl`
Returns:
  the value of the 'Differences' reference list.
See Also:
  - `ComparePackage.getConflict_Differences()`
  - `Diff.getConflict()`

### getConflicts

public Set<Conflict> getConflicts()
Returns an unmodifiable view of the joined conflicts.

Returns:
  An unmodifiable view of the joined conflicts, never `null` nor empty.

### join

public void join(ThreeWayComparisonGroupProvider.CompositeConflict conflict)
Joins the provided composite conflict with this composite conflict.

Parameters:
  `conflict` - The conflict to be joined with this composite conflict