public class BatchMerger extends Object implements IBatchMerger
IBatchMerger
leaves some choice to the client as to what should be
merged.Constructor and Description |
---|
BatchMerger(IMerger.Registry registry)
Constructs our batch merger provided the registry from which to retrieve the delegate mergers.
|
BatchMerger(IMerger.Registry registry,
com.google.common.base.Predicate<? super Diff> filter)
Constructs our batch merger provided the registry from which to retrieve the delegate mergers, and a
filter if you only wish to merge specific differences.
|
Modifier and Type | Method and Description |
---|---|
void |
copyAllLeftToRight(Iterable<? extends Diff> differences,
Monitor monitor)
This will be called to copy all of the differences from the given list from the left to the right side.
|
void |
copyAllRightToLeft(Iterable<? extends Diff> differences,
Monitor monitor)
This will be called to copy all of the differences from the given list from the right to the left side.
|
public BatchMerger(IMerger.Registry registry)
registry
- The registry from which we'll retrieve delegate mergers, must be an instance of
IMerger.Registry2.public BatchMerger(IMerger.Registry registry, com.google.common.base.Predicate<? super Diff> filter)
Note that the filter indicates differences that will be merged, not those that will be ignored.
For example, if you wish to ignore all differences in conflict, you can use :
IMerger.Registry registry = IMerger.RegistryImpl.createStandaloneInstance(); IBatchMerger bathMerger = new BatchMerger(registry,not
(hasConflict
(ConflictKind.PSEUDO, ConflictKind.REAL))); bathMerger.copyAll...
registry
- The registry from which we'll retrieve delegate mergers, must be an instance of
IMerger.Registry2.filter
- Additional filter for the differences. This could be set in order to ignore diffs
originating from a given side. Note that the filter describes the differences that will be
merged, not those that will be ignored.Predicates
,
EMFComparePredicates
public void copyAllLeftToRight(Iterable<? extends Diff> differences, Monitor monitor)
Note that this may end up merging differences that are not in the given list if one of the diffs to be merged depends on (or results in) the merging of that 'out of list' difference.
copyAllLeftToRight
in interface IBatchMerger
differences
- The differences that will be merged.monitor
- Monitor on which to report progress information.IBatchMerger.copyAllLeftToRight(java.lang.Iterable,
org.eclipse.emf.common.util.Monitor)
public void copyAllRightToLeft(Iterable<? extends Diff> differences, Monitor monitor)
Note that this may end up merging differences that are not in the given list if one of the diffs to be merged depends on (or results in) the merging of that 'out of list' difference.
copyAllRightToLeft
in interface IBatchMerger
differences
- The differences that will be merged.monitor
- Monitor on which to report progress information.IBatchMerger.copyAllRightToLeft(java.lang.Iterable,
org.eclipse.emf.common.util.Monitor)
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.