public class CachingDiffRelationshipComputer extends DiffRelationshipComputer
IMerger2| Modifier and Type | Field and Description |
|---|---|
protected Map<Diff,Set<Diff>> |
directMergeDependenciesL2R
Direct merge dependencies: left to right.
|
protected Map<Diff,Set<Diff>> |
directMergeDependenciesR2L
Direct merge dependencies: right to left.
|
protected Map<Diff,Set<Diff>> |
directResultingMergesL2R
Direct resulting merges: left to right.
|
protected Map<Diff,Set<Diff>> |
directResultingMergesR2L
Direct resulting merges: right to left.
|
protected Map<Diff,Set<Diff>> |
directResultingRejectionsL2R
Direct resulting rejections: left to right.
|
protected Map<Diff,Set<Diff>> |
directResultingRejectionsR2L
Direct resulting rejections: right to left.
|
criterion, registry| Constructor and Description |
|---|
CachingDiffRelationshipComputer(IMerger.Registry registry)
Creates a new computer with the given registry.
|
CachingDiffRelationshipComputer(IMerger.Registry registry,
IMergeCriterion criterion)
Creates a new computer with the given registry and merge criterion.
|
| Modifier and Type | Method and Description |
|---|---|
void |
computeCache(Diff diff)
Computes the cached relationships for the give diff.
|
protected Set<Diff> |
computeDirectMergeDependencies(Diff diff,
boolean mergeRightToLeft)
Computes direct merge dependencies for the given diff.
|
protected Set<Diff> |
computeDirectResultingMerges(Diff diff,
boolean mergeRightToLeft)
Computes direct resulting merges for the given diff.
|
protected Set<Diff> |
computeDirectResultingRejections(Diff diff,
boolean mergeRightToLeft)
Computes the direct resulting rejections.
|
protected Set<Diff> |
getCachedDirectMergeDependencies(Diff diff,
boolean mergeRightToLeft)
Returns the cached direct merge dependencies.
|
protected Set<Diff> |
getCachedDirectResultingMerges(Diff diff,
boolean mergeRightToLeft)
Returns the cached direct resulting merges.
|
protected Set<Diff> |
getCachedDirectResultingRejections(Diff diff,
boolean mergeRightToLeft)
Returns the cached direct resulting rejections.
|
Set<Diff> |
getDirectMergeDependencies(Diff diff,
boolean mergeRightToLeft)
Returns the cached direct merge dependencies, if present.
|
Set<Diff> |
getDirectResultingMerges(Diff diff,
boolean mergeRightToLeft)
Returns the cached direct resulting merges, if present.
|
Set<Diff> |
getDirectResultingRejections(Diff diff,
boolean mergeRightToLeft)
Returns the set of all differences that need to be rejected if
diff is merged in the given
direction. |
void |
invalidate()
Invalidates the complete cache, so that relationships will be re-calculated any diff the next time a
respective method is called.
|
protected void |
setCachedDirectMergeDependencies(Diff diff,
boolean mergeRightToLeft,
Set<Diff> directMergeDependencies)
Caches the given direct merge dependencies.
|
protected void |
setCachedDirectResultingMerges(Diff diff,
boolean mergeRightToLeft,
Set<Diff> directResultingMerges)
Caches the given direct resulting merges.
|
protected void |
setCachedDirectResultingRejections(Diff diff,
boolean mergeRightToLeft,
Set<Diff> directResultingRejections)
Caches the given direct resulting rejections.
|
void |
setMergeCriterion(IMergeCriterion mergeCriterion)
Sets the merge criterion considered for calculating the diff relationships.
|
void |
setMergerRegistry(IMerger.Registry mergerRegistry)
Sets the merger registry used for calculating the diff relationships.
|
getAllResultingMerges, getAllResultingMerges, getAllResultingRejections, getAllResultingRejections, getMergeCriterion, getMerger, getMergerRegistry, getMergerRegistry2, hasMerger, internalGetAllResultingMergesprotected Map<Diff,Set<Diff>> directMergeDependenciesR2L
protected Map<Diff,Set<Diff>> directMergeDependenciesL2R
protected Map<Diff,Set<Diff>> directResultingMergesR2L
protected Map<Diff,Set<Diff>> directResultingMergesL2R
protected Map<Diff,Set<Diff>> directResultingRejectionsR2L
public CachingDiffRelationshipComputer(IMerger.Registry registry)
registry - merger registrypublic CachingDiffRelationshipComputer(IMerger.Registry registry, IMergeCriterion criterion)
registry - merger registrycriterion - merge criterion used to get the merger from the registry, use IMergeCriterion.NONE
if no special criterion should be set.public void setMergerRegistry(IMerger.Registry mergerRegistry)
setMergerRegistry in interface IDiffRelationshipComputersetMergerRegistry in class DiffRelationshipComputermergerRegistry - The merger registry.public void setMergeCriterion(IMergeCriterion mergeCriterion)
setMergeCriterion in interface IDiffRelationshipComputersetMergeCriterion in class DiffRelationshipComputermergeCriterion - The merger criterion.protected void setCachedDirectMergeDependencies(Diff diff, boolean mergeRightToLeft, Set<Diff> directMergeDependencies)
diff - diffmergeRightToLeft - merge directiondirectMergeDependencies - direct merge dependencies of diffprotected Set<Diff> getCachedDirectMergeDependencies(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionprotected Set<Diff> computeDirectMergeDependencies(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionpublic Set<Diff> getDirectMergeDependencies(Diff diff, boolean mergeRightToLeft)
getDirectMergeDependencies in interface IDiffRelationshipComputergetDirectMergeDependencies in class DiffRelationshipComputerdiff - diffmergeRightToLeft - merge directionIMerger2.getDirectMergeDependencies(Diff, boolean)protected void setCachedDirectResultingMerges(Diff diff, boolean mergeRightToLeft, Set<Diff> directResultingMerges)
diff - diffmergeRightToLeft - merge directiondirectResultingMerges - direct resulting mergesprotected Set<Diff> getCachedDirectResultingMerges(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionprotected Set<Diff> computeDirectResultingMerges(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionpublic Set<Diff> getDirectResultingMerges(Diff diff, boolean mergeRightToLeft)
getDirectResultingMerges in interface IDiffRelationshipComputergetDirectResultingMerges in class DiffRelationshipComputerdiff - diffmergeRightToLeft - merge directionIMerger2.getDirectResultingMerges(Diff, boolean)protected void setCachedDirectResultingRejections(Diff diff, boolean mergeRightToLeft, Set<Diff> directResultingRejections)
diff - diffmergeRightToLeft - merge directiondirectResultingRejections - direct resulting rejectionsprotected Set<Diff> getCachedDirectResultingRejections(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionprotected Set<Diff> computeDirectResultingRejections(Diff diff, boolean mergeRightToLeft)
diff - diffmergeRightToLeft - merge directionpublic Set<Diff> getDirectResultingRejections(Diff diff, boolean mergeRightToLeft)
IDiffRelationshipComputerdiff is merged in the given
direction.getDirectResultingRejections in interface IDiffRelationshipComputergetDirectResultingRejections in class DiffRelationshipComputerdiff - The difference for which we seek the direct resulting rejections.mergeRightToLeft - The direction in which we're considering a merge.IDiffRelationshipComputer.getAllResultingRejections(Diff, boolean),
IMerger2.getDirectResultingRejections(Diff, boolean)public void computeCache(Diff diff)
diff - the diff for which to cmpute the cached relationship.public void invalidate()
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.