org.eclipse.emf.compare.diff

## Interface IDiffEngine

All Known Implementing Classes:
  DefaultDiffEngine

    public interface IDiffEngine

This class defines the general contract of a Differencing engine. We expect subclasses to have a public, no-argument default constructor for instantiation.

We generally expect that a call to `#diff(Comparison)` will complete every single `Match` it finds with all differences that can be detected on its sides. The diff engine is not expected to detect conflicts, equivalences or dependencies between different diffs, these will be detected later on.

Clients can also subclass the `default implementation`.

See Also:
  `DefaultDiffEngine`

### Method Summary

All Methods Instance Methods Abstract Methods
`void` `diff(Comparison comparison, Monitor monitor)` This is the entry point of the differencing process.

### Method Detail

#### diff

    void diff(Comparison comparison,
              Monitor monitor)

This is the entry point of the differencing process.

It will complete the input `comparison` by iterating over the `matches` it contain, filling in the differences it can detect for each distinct Match.

Parameters:
  `comparison` - The comparison this engine is expected to complete.
  `monitor` - The monitor to report progress or to check for cancellation.