public class ConflictMerger extends AbstractMerger
AbstractMerger
will be used to merge real conflicts.IMerger.Registry, IMerger.Registry2, IMerger.RegistryImpl
mergeOptions, SUB_DIFF_AWARE_OPTION
Constructor and Description |
---|
ConflictMerger() |
Modifier and Type | Method and Description |
---|---|
boolean |
apply(IMergeCriterion criterion)
Default implementation of apply for mergers that extends this class.
|
void |
copyLeftToRight(Diff target,
Monitor monitor)
Executes the copy from left to right.
|
void |
copyRightToLeft(Diff target,
Monitor monitor)
Executes the copy from right to left.
|
Set<Diff> |
getDirectMergeDependencies(Diff diff,
boolean rightToLeft)
Retrieves the set of directly required diffs needed in order to merge the current one.
|
Set<Diff> |
getDirectResultingMerges(Diff diff,
boolean rightToLeft)
Returns all differences that will be merged because of our merging the given
target
difference. |
protected DelegatingMerger |
getMergerDelegate(Diff diff)
Find the best merger for diff and wrap it in a delegate that will take the current merge criterion into
account.
|
boolean |
isMergerFor(Diff target)
Check if the merger is a good candidate to merge the given difference.
|
accept, addAt, copyDiff, createCopy, getDirectResultingRejections, getImpliedMerges, getLogicallyResultingMerges, getMergeOptions, getMergerDelegate, getRanking, getRegistry, isAccepting, isAdd, isInTerminalState, isSet, isUnset, mergeDiff, reject, setMergeOptions, setRanking, setRegistry
public boolean isMergerFor(Diff target)
target
- The given target difference.IMerger.isMergerFor(org.eclipse.emf.compare.Diff)
public boolean apply(IMergeCriterion criterion)
AbstractMerger
null
or
AdditiveMergeCriterion.INSTANCE.apply
in interface IMergeCriterionAware
apply
in class AbstractMerger
criterion
- The merge criteriontrue
if the given criterion is null or is AdditiveMergeCriterion.INSTANCE.public void copyLeftToRight(Diff target, Monitor monitor)
copyLeftToRight
in interface IMerger
copyLeftToRight
in class AbstractMerger
target
- The difference to handle.monitor
- Monitor.IMerger.copyLeftToRight(org.eclipse.emf.compare.Diff,
org.eclipse.emf.common.util.Monitor)
public void copyRightToLeft(Diff target, Monitor monitor)
copyRightToLeft
in interface IMerger
copyRightToLeft
in class AbstractMerger
target
- The difference to handle.monitor
- Monitor.IMerger.copyRightToLeft(org.eclipse.emf.compare.Diff,
org.eclipse.emf.common.util.Monitor)
public Set<Diff> getDirectMergeDependencies(Diff diff, boolean rightToLeft)
AbstractMerger
requirements
or any other diff that we need to merge
before the given one.getDirectMergeDependencies
in interface IMerger2
getDirectMergeDependencies
in class AbstractMerger
diff
- The diff which direct requirements we need.rightToLeft
- The direction in which we're considering a merge.public Set<Diff> getDirectResultingMerges(Diff diff, boolean rightToLeft)
AbstractMerger
target
difference. This may include the diff's implications
, the diff's
equivalences
, the diff's refinements
or any
other diff that we need to merge together with the given diff.getDirectResultingMerges
in interface IMerger2
getDirectResultingMerges
in class AbstractMerger
diff
- The difference we're considering merging.rightToLeft
- The direction in which we're considering a merge.target
.protected DelegatingMerger getMergerDelegate(Diff diff)
AbstractMerger
getMergerDelegate
in class AbstractMerger
diff
- The diff
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.