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, internalGetAllResultingMerges
protected 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 IDiffRelationshipComputer
setMergerRegistry
in class DiffRelationshipComputer
mergerRegistry
- The merger registry.public void setMergeCriterion(IMergeCriterion mergeCriterion)
setMergeCriterion
in interface IDiffRelationshipComputer
setMergeCriterion
in class DiffRelationshipComputer
mergeCriterion
- 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 IDiffRelationshipComputer
getDirectMergeDependencies
in class DiffRelationshipComputer
diff
- 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 IDiffRelationshipComputer
getDirectResultingMerges
in class DiffRelationshipComputer
diff
- 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)
IDiffRelationshipComputer
diff
is merged in the given
direction.getDirectResultingRejections
in interface IDiffRelationshipComputer
getDirectResultingRejections
in class DiffRelationshipComputer
diff
- 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.