T - The type of diff for which conflict are researchedpublic abstract class AbstractConflictSearch<T extends Diff> extends Object
| Modifier and Type | Field and Description | 
|---|---|
| protected Comparison | comparisonThe comparison that contains diff. | 
| protected T | diffThe difference, never  null. | 
| protected ComparisonIndex | indexThe index of the comparison. | 
| protected Monitor | monitorThe monitor to report progress to. | 
| Constructor and Description | 
|---|
| AbstractConflictSearch(T diff,
                      ComparisonIndex index,
                      Monitor monitor)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| protected boolean | areMergeableStringAttributeChanges(Diff diff1,
                                  Diff diff2)Specifies whether the two given diffs,  diff1anddiff2, are bothattribute changesof String attributes and can be merged with a line-based three-way merge. | 
| protected void | conflict(Diff other,
        ConflictKind kind)This will be called whenever we detect a new conflict in order to create (or update) the actual
 association. | 
| abstract void | detectConflicts()Detect conflicts with  diffin its comparison. | 
| protected String | getChangedValue(AttributeChange attributeChange)Returns the changed attribute value denoted by the given  diff. | 
| protected EList<Diff> | getDiffsInSameMatch()Get the diffs in the same  Matchas diff. | 
| protected MatchResource | getMatchResource(Resource resource)Returns the MatchResource corresponding to the given  resource. | 
| protected EObject | getRelatedModelElement(ResourceAttachmentChange rac)Provide the model element the given diff applies to. | 
| protected EObject | getValue(ResourceAttachmentChange rac)Provide the non-null model element the given diff applies to. | 
| protected com.google.common.base.Predicate<? super Match> | isContainmentDelete()This predicate will be  truefor any Match which represents a containment deletion. | 
| protected boolean | isFeatureMapChange(Diff toCheck)Specifies whether the given  diffis aFeatureMapChange. | 
| protected boolean | isFeatureMapChangeOrMergeableStringAttributeChange(Diff diff1,
                                                  Diff diff2)Specifies whether the given  diff1anddiff2are eitherfeature
 map changesor mergeableattribute changesof String attributes. | 
| protected boolean | isMergeable(AttributeChange diff1,
           AttributeChange diff2)Specifies whether the two given attribute changes,  diff1anddiff2, can be merged with
 a line-based three-way merge. | 
| protected boolean | isMergeableText(String left,
               String right,
               String origin)Specifies whether the given three versions of a text  left,right, andoriginare mergeable with a line-based three-way merge. | 
| protected boolean | isStringAttributeChange(Diff toCheck)Specifies whether the given  diffis aAttributeChangeof a String attribute. | 
protected final Comparison comparison
protected final ComparisonIndex index
protected final Monitor monitor
public AbstractConflictSearch(T diff, ComparisonIndex index, Monitor monitor)
diff - The diff to search conflicts with, must not be null and have a non-null match
            that belongs to a non-null comparison. It must also have a non-null DifferenceKind
            and DifferenceSource.index - Comparison index, must not be nullmonitor - the monitor to report progress to, must not be nullpublic abstract void detectConflicts()
diff in its comparison. This will add or update
 conflicts in diff's comparison.protected EList<Diff> getDiffsInSameMatch()
Match as diff.Match as diff, including diff.protected boolean isFeatureMapChangeOrMergeableStringAttributeChange(Diff diff1, Diff diff2)
diff1 and diff2 are either feature
 map changes or mergeable attribute changes of String attributes.diff1 - One of the diffs to check.diff2 - The other diff to check.true if it is a FeatureMapChange or a mergeable AttributeChange,
         false otherwise.protected boolean isFeatureMapChange(Diff toCheck)
diff is a FeatureMapChange.toCheck - The diff to check.true if it is a FeatureMapChange, false otherwise.protected boolean areMergeableStringAttributeChanges(Diff diff1, Diff diff2)
diff1 and diff2, are both attribute changes of String attributes and can be merged with a line-based three-way merge.diff1 - One of the diffs to check.diff2 - The other diff to check.true if the diffs are mergeable changes of a string attribute, false
         otherwise.ThreeWayTextDiffprotected boolean isStringAttributeChange(Diff toCheck)
diff is a AttributeChange of a String attribute.toCheck - The diff to check.true if it is a AttributeChange of a String attribute, false
         otherwise.protected boolean isMergeable(AttributeChange diff1, AttributeChange diff2)
diff1 and diff2, can be merged with
 a line-based three-way merge.diff1 - One of the attribute changes to check.diff2 - The other attribute change to check.true if the attribute changes are mergeable, false otherwise.ThreeWayTextDiffprotected boolean isMergeableText(String left, String right, String origin)
left, right, and origin
 are mergeable with a line-based three-way merge.left - The left version.right - The right version.origin - The original version.true if they are mergeable, false otherwise.protected String getChangedValue(AttributeChange attributeChange)
diff.attributeChange - The attribute change for which the changed value is requested.protected void conflict(Diff other, ConflictKind kind)
other - Second of the two differences for which we detected a conflict.kind - Kind of this conflict.protected MatchResource getMatchResource(Resource resource)
resource.resource - Resource for which we need a MatchResource.resource.protected EObject getRelatedModelElement(ResourceAttachmentChange rac)
rac - The changeprotected EObject getValue(ResourceAttachmentChange rac)
rac - The changeprotected com.google.common.base.Predicate<? super Match> isContainmentDelete()
true for any Match which represents a containment deletion.
Copyright (c) 2006, 2015 Obeo and others. All rights reserved.