Package org.eclipse.emf.compare.diff
Class DiffBuilder
java.lang.Object
org.eclipse.emf.compare.diff.DiffBuilder
- All Implemented Interfaces:
IDiffProcessor
This default implementation of an
IDiffProcessor
will build the necessary differences and attach
them to the appropriate Match
.-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
attributeChange
(Match match, EAttribute attribute, Object value, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected a difference for a given attribute value.void
featureMapChange
(Match match, EAttribute attribute, Object value, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected a difference for a given attribute value.void
referenceChange
(Match match, EReference reference, EObject value, DifferenceKind kind, DifferenceSource source) This will be called whenever the Diff engine detected a difference for a given reference value.void
resourceAttachmentChange
(Match match, String uri, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected the addition (or removal) of a root in a given Resource.void
resourceLocationChange
(MatchResource matchResource, String baseLocation, String changedLocation, DifferenceKind kind, DifferenceSource source) Deprecated.
-
Constructor Details
-
DiffBuilder
public DiffBuilder()
-
-
Method Details
-
referenceChange
public void referenceChange(Match match, EReference reference, EObject value, DifferenceKind kind, DifferenceSource source) This will be called whenever the Diff engine detected a difference for a given reference value.- Specified by:
referenceChange
in interfaceIDiffProcessor
- Parameters:
match
- The match to which this difference should be attached.reference
- The reference on which we detected a difference.value
- The actual value for which we detected a difference.kind
- Kind of the detected difference.source
- Source of the detected difference. For two way comparisons, this will always beDifferenceSource.LEFT
. Otherwise, this will indicate the side on which this difference has been detected.- See Also:
-
attributeChange
public void attributeChange(Match match, EAttribute attribute, Object value, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected a difference for a given attribute value.- Specified by:
attributeChange
in interfaceIDiffProcessor
- Parameters:
match
- The match to which this difference should be attached.attribute
- The attribute on which we detected a difference.value
- The actual value for which we detected a difference.kind
- Kind of the difference.source
- Source of the difference. For two way comparisons, this will always beDifferenceSource.LEFT
. Otherwise, this will indicate the side on which this difference has been detected.- See Also:
-
featureMapChange
public void featureMapChange(Match match, EAttribute attribute, Object value, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected a difference for a given attribute value.- Specified by:
featureMapChange
in interfaceIDiffProcessor
- Parameters:
match
- The match to which this difference should be attached.attribute
- The EFeatureMapEntry attribute on which we detected a difference.value
- The actual FeatureMap.Entry value for which we detected a difference.kind
- Kind of the difference.source
- Source of the difference. For two way comparisons, this will always beDifferenceSource.LEFT
. Otherwise, this will indicate the side on which this difference has been detected.- Since:
- 3.2
- See Also:
-
resourceAttachmentChange
public void resourceAttachmentChange(Match match, String uri, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detected the addition (or removal) of a root in a given Resource.- Specified by:
resourceAttachmentChange
in interfaceIDiffProcessor
- Parameters:
match
- The match to which this difference should be attached.uri
- The uri of the resource we attached this element to in case of anDifferenceKind.ADD
, or the uri of the resource it was attached to in case of aDifferenceKind.DELETE
difference.kind
- Kind of this difference.source
- Source of the difference. For two way comparisons, this will always beDifferenceSource.LEFT
. Otherwise, this will indicate the side on which this difference has been detected.- See Also:
-
resourceLocationChange
@Deprecated public void resourceLocationChange(MatchResource matchResource, String baseLocation, String changedLocation, DifferenceKind kind, DifferenceSource source) Deprecated.ResourceLocationChange
s have been replaced byResourceAttachmentChange
s of kind Move.This will be called whenever the diff engine detects the change of a Resource location.- Specified by:
resourceLocationChange
in interfaceIDiffProcessor
- Parameters:
matchResource
- The matchResource to which this difference should be attached.baseLocation
- The base location (left side in case of a two way comparison, origin or left side in case of a three way comparison).changedLocation
- The change location (right side in case of a two way comparison, left or right side in case of a three way comparison).kind
- Kind of this difference.source
- Source of the difference. For two way comparisons, this will always beDifferenceSource.LEFT
. Otherwise, this will indicate the side on which this difference has been detected.
-
ResourceLocationChange
s have been replaced byResourceAttachmentChange
s of kind Move.