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
Constructor
Description
`MatchBasedConflictDetector()`

## Method Summary

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

### MatchBasedConflictDetector

public MatchBasedConflictDetector()

## Method Details

### 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)`