Package org.eclipse.emf.compare.diff
Interface IDiffProcessor
- All Known Implementing Classes:
DiffBuilder
public interface IDiffProcessor
An
IDiffProcessor is meant to be used in order to react to the detection of differences by the diff
engine.
The default implementation of a Diff engine only detects the changes and sends them over to its
IDiffProcessor. It will then be up to the diff processor to create a
Diff and attach it to the provided Match, simply react to the
notification... or ignore it altogether.
DiffBuilder, a default implementation of this interface, can be subclassed instead.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidattributeChange(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.voidfeatureMapChange(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.voidreferenceChange(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.voidresourceAttachmentChange(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.voidresourceLocationChange(MatchResource matchResource, String baseLocation, String changedLocation, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detects the change of a Resource location.
-
Method Details
-
referenceChange
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.- 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.
-
attributeChange
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.- 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.
-
featureMapChange
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.- 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
-
resourceAttachmentChange
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.- 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.DELETEdifference.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
void resourceLocationChange(MatchResource matchResource, String baseLocation, String changedLocation, DifferenceKind kind, DifferenceSource source) This will be called whenever the diff engine detects the change of a Resource location.- 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.
-