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

## Method Summary

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

### DefaultReqEngine

public DefaultReqEngine()

## Method Details

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