Package org.eclipse.emf.compare.conflict

## Class MatchBasedConflictDetector

- java.lang.Object
- - org.eclipse.emf.compare.conflict.MatchBasedConflictDetector

All Implemented Interfaces:
  `IConflictDetector`

    public class MatchBasedConflictDetector
    extends Object
    implements IConflictDetector

This conflict detector searches for conflicting `Diff`s in the same `Match` as the current `Diff`, as well as among `ReferenceChange`s that reference the same `EObject` as the current `Diff`, if it is a `ReferenceChange`.

This implementation of `IConflictDetector` is a generic as the default one but scales better since it is not O(n²) but rather O(n) or O(n log(n)), n being the number of differences in the comparison.

Since:
  3.3

### Constructor Summary

Constructors
`MatchBasedConflictDetector()`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `detect​(Comparison comparison, Monitor monitor)` This is the entry point of the conflict detection process.

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

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

### Constructor Detail

#### MatchBasedConflictDetector

    public MatchBasedConflictDetector()

### Method Detail

#### detect

    public void detect​(Comparison comparison,
                       Monitor monitor)

This is the entry point of the conflict detection process.

It is expected to complete the input `comparison` by iterating over the `differences` it contain, filling in all conflicts it can detect between those Diffs.

Specified by:
  `detect` in interface `IConflictDetector`
Parameters:
  `comparison` - The comparison this engine is expected to complete.
  `monitor` - The monitor to report progress or to check for cancellation
See Also:
  `IConflictDetector.detect(org.eclipse.emf.compare.Comparison, org.eclipse.emf.common.util.Monitor)`