public class AdditiveReferenceChangeMerger extends ReferenceChangeMerger
AbstractMerger
will be used to merge reference changes in an
additive merge context.IMerger.Registry, IMerger.Registry2, IMerger.RegistryImpl
mergeOptions, SUB_DIFF_AWARE_OPTION
Constructor and Description |
---|
AdditiveReferenceChangeMerger()
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 diff,
boolean mergeRightToLeft)
Retrieves the set of directly required diffs needed in order to merge the current one.
|
Set<Diff> |
getDirectResultingMerges(Diff diff,
boolean mergeRightToLeft)
Returns all differences that will be merged because of our merging the given
target
difference. |
accept, addInTarget, checkImpliedDiffsOrdering, doMove, findInsertionIndex, findMatchIn, isMergerFor, moveElement, reject, removeFromTarget, resetInTarget
addAt, copyDiff, copyLeftToRight, createCopy, getDirectResultingRejections, getImpliedMerges, getLogicallyResultingMerges, getMergeOptions, getMergerDelegate, getMergerDelegate, getRanking, getRegistry, isAccepting, isAdd, isInTerminalState, isSet, isUnset, mergeDiff, setMergeOptions, setRanking, setRegistry
public AdditiveReferenceChangeMerger()
public boolean apply(IMergeCriterion criterion)
AbstractMerger
null
or
AdditiveMergeCriterion.INSTANCE.apply
in interface IMergeCriterionAware
apply
in class ReferenceChangeMerger
criterion
- The merge criteriontrue
if the given criterion is null or is AdditiveMergeCriterion.INSTANCE.public void copyRightToLeft(Diff target, Monitor monitor)
AbstractMerger
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 mergeRightToLeft)
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.mergeRightToLeft
- The direction in which we're considering a merge.public Set<Diff> getDirectResultingMerges(Diff diff, 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 AbstractMerger
diff
- 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.