Package org.eclipse.emf.compare.req

## Class DefaultReqEngine

- java.lang.Object
- - org.eclipse.emf.compare.req.DefaultReqEngine

All Implemented Interfaces:
  `IReqEngine`

    public class DefaultReqEngine
    extends Object
    implements IReqEngine

The requirements engine is in charge of actually computing the requirements between the differences.

This default implementation aims at being generic enough to be used for any model, whatever the metamodel. However, specific requirements might be necessary.

TODO document available extension possibilities. TODO to test on XSD models for FeatureMaps

### Constructor Summary

Constructors
`DefaultReqEngine()`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `checkForRequiredDifferences​(Comparison comparison, Diff difference)` Checks the potential required differences from the given `difference`.
`void` `computeRequirements​(Comparison comparison, Monitor monitor)` This is the entry point of the requirements computing process.

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

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

### Constructor Detail

#### DefaultReqEngine

    public DefaultReqEngine()

### Method Detail

#### computeRequirements

    public void computeRequirements​(Comparison comparison,
                                    Monitor monitor)

This is the entry point of the requirements computing process.

It will complete the input `comparison` by iterating over the `differences` it contains, filling in the requirements it can detect for each distinct Diff.

Specified by:
  `computeRequirements` in interface `IReqEngine`
Parameters:
  `comparison` - The comparison this engine is expected to complete.
  `monitor` - The monitor to report progress or to check for cancellation
See Also:
  `IReqEngine.computeRequirements(Comparison, Monitor)`

#### checkForRequiredDifferences

    protected void checkForRequiredDifferences​(Comparison comparison,
                                               Diff difference)

Checks the potential required differences from the given `difference`.

Parameters:
  `comparison` - The comparison this engine is expected to complete.
  `difference` - The difference that is to be checked