public class AdditiveConflictMerger extends ConflictMerger
AbstractMerger
will be used to merge conflicts in an additive merge
context.IMerger.Registry, IMerger.Registry2, IMerger.RegistryImpl
mergeOptions, SUB_DIFF_AWARE_OPTION
Constructor and Description |
---|
AdditiveConflictMerger()
The constructor specify the context where this merger can be used.
|
Modifier and Type | Method and Description |
---|---|
boolean |
apply(IMergeCriterion criterion)
Default implementation of apply for mergers that extends this class.
|
void |
copyRightToLeft(Diff target,
Monitor monitor)
Executes the copy from right to left.
|
Set<Diff> |
getDirectMergeDependencies(Diff target,
boolean mergeRightToLeft)
Retrieves the set of directly required diffs needed in order to merge the current one.
|
Set<Diff> |
getDirectResultingMerges(Diff target,
boolean mergeRightToLeft)
Returns all differences that will be merged because of our merging the given
target
difference. |
copyLeftToRight, getMergerDelegate, isMergerFor
accept, addAt, copyDiff, createCopy, getDirectResultingRejections, getImpliedMerges, getLogicallyResultingMerges, getMergeOptions, getMergerDelegate, getRanking, getRegistry, isAccepting, isAdd, isInTerminalState, isSet, isUnset, mergeDiff, reject, setMergeOptions, setRanking, setRegistry
public AdditiveConflictMerger()
public boolean apply(IMergeCriterion criterion)
AbstractMerger
null
or
AdditiveMergeCriterion.INSTANCE.apply
in interface IMergeCriterionAware
apply
in class ConflictMerger
criterion
- The merge criteriontrue
if the given criterion is null or is AdditiveMergeCriterion.INSTANCE.public void copyRightToLeft(Diff target, Monitor monitor)
ConflictMerger
copyRightToLeft
in interface IMerger
copyRightToLeft
in class ConflictMerger
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 target, boolean mergeRightToLeft)
AbstractMerger
requirements
or any other diff that we need to merge
before the given one.getDirectMergeDependencies
in interface IMerger2
getDirectMergeDependencies
in class ConflictMerger
target
- The diff which direct requirements we need.mergeRightToLeft
- The direction in which we're considering a merge.public Set<Diff> getDirectResultingMerges(Diff target, boolean mergeRightToLeft)
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 ConflictMerger
target
- The difference we're considering merging.mergeRightToLeft
- The direction in which we're considering a merge.target
.
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.