org.eclipse.emf.compare.internal.merge

## Class MergeDependenciesUtil

- java.lang.Object
- - org.eclipse.emf.compare.internal.merge.MergeDependenciesUtil

    public final class MergeDependenciesUtil
    extends Object

Factorizes utilities used throughout EMF Compare to explore merge dependencies.

### Method Summary

All Methods Static Methods Concrete Methods
`static Set<Diff>` `getAllResultingMerges(Diff diff, IMerger.Registry mergerRegistry, boolean rightToLeft)` Retrieves the set of all diffs related to the given `diff` when merging in the given direction.
`static Set<Diff>` `getAllResultingRejections(Diff diff, IMerger.Registry mergerRegistry, boolean mergeRightToLeft)` Retrieves the set of all diffs that will be rejected if the given `diff` is merged, either because of unresolveable conflicts or because of unreachable requirements.

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

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

### Method Detail

#### getAllResultingMerges

    public static Set<Diff> getAllResultingMerges(Diff diff,
                                                  IMerger.Registry mergerRegistry,
                                                  boolean rightToLeft)

Retrieves the set of all diffs related to the given `diff` when merging in the given direction.

This is expected to return the set of all differences that will be need to merged along when a user wishes to merge `diff`, either because they are required by it or because they are implied by it one way or another.

Note that `diff` will be included in the returned set.

Also note that the resulting merges will contain the resulting rejections (diffs from the other side that will be rejected)

Parameters:
  `diff` - The difference for which we seek all related ones.
  `mergerRegistry` - The `merger registry` currently in use.
  `rightToLeft` - The direction in which we're considering a merge.
Returns:
  The set of all diffs related to the given `diff` when merging in the given direction.

#### getAllResultingRejections

    public static Set<Diff> getAllResultingRejections(Diff diff,
                                                      IMerger.Registry mergerRegistry,
                                                      boolean mergeRightToLeft)

Retrieves the set of all diffs that will be rejected if the given `diff` is merged, either because of unresolveable conflicts or because of unreachable requirements.

Parameters:
  `diff` - The difference for which we seek all opposite ones.
  `mergerRegistry` - The `merger registry` currently in use.
  `mergeRightToLeft` - The direction in which we're considering a merge.
Returns:
  The set of all diffs that will be rejected if the given `diff` is merged in the given direction.