Class EditionDistance
java.lang.Object
org.eclipse.emf.compare.match.eobject.EditionDistance
- All Implemented Interfaces:
ProximityEObjectMatcher.DistanceFunction
This distance function implementation will actually compare the given EObject.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Builder class to configure an EditionDistance instance. -
Constructor Summary
ConstructorDescriptionInstantiate a new Edition Distance that will useWeightProviderDescriptorRegistryImpl.createStandaloneInstance()
.EditionDistance
(WeightProvider.Descriptor.Registry weightProviderRegistry) Instantiate a new Edition Distance.EditionDistance
(WeightProvider.Descriptor.Registry weightProviderRegistry, EqualityHelperExtensionProvider.Descriptor.Registry equalityHelperExtensionProviderRegistry) Instantiate a new Edition Distance. -
Method Summary
Modifier and TypeMethodDescriptionboolean
areIdentic
(Comparison inProgress, EObject a, EObject b) Check that two objects are equals from the distance function point of view (distance should be 0) You should prefer this method when you just want to check objects are not equals enabling the distance to stop sooner.static EditionDistance.Builder
builder()
Create a new builder to instantiate and configure an EditionDistance.double
distance
(Comparison inProgress, EObject a, EObject b) Return the distance between two EObjects.double
getThresholdAmount
(EObject eObj) protected double
getThresholdRatio
(int nbFeatures) return a ratio to apply on the amount of maximum un-similarity amount depending on the number of features which are considered.
-
Constructor Details
-
EditionDistance
public EditionDistance()Instantiate a new Edition Distance that will useWeightProviderDescriptorRegistryImpl.createStandaloneInstance()
. -
EditionDistance
Instantiate a new Edition Distance.- Parameters:
weightProviderRegistry
- The registry of weight providers to use in this Edition Distance.
-
EditionDistance
public EditionDistance(WeightProvider.Descriptor.Registry weightProviderRegistry, EqualityHelperExtensionProvider.Descriptor.Registry equalityHelperExtensionProviderRegistry) Instantiate a new Edition Distance.- Parameters:
weightProviderRegistry
- The registry of weight providers to use in this Edition Distance.equalityHelperExtensionProviderRegistry
- The registry of equality helper extension providers to use in this Edition Distance.
-
-
Method Details
-
distance
Return the distance between two EObjects. When the two objects should considered as completely different the implementation is expected to return Double.MAX_VALUE.- Specified by:
distance
in interfaceProximityEObjectMatcher.DistanceFunction
- Parameters:
inProgress
- the comparison being processed right now. This might be used for the distance to retrieve other matches for instance.a
- first object.b
- second object.- Returns:
- the distance between the two EObjects or Double.MAX_VALUE when the objects are considered too different to be the same.
-
areIdentic
Check that two objects are equals from the distance function point of view (distance should be 0) You should prefer this method when you just want to check objects are not equals enabling the distance to stop sooner.- Specified by:
areIdentic
in interfaceProximityEObjectMatcher.DistanceFunction
- Parameters:
inProgress
- the comparison being processed right now. This might be used for the distance to retrieve other matches for instance.a
- first object.b
- second object.- Returns:
- true of the two objects are equals, false otherwise.
-
builder
Create a new builder to instantiate and configure an EditionDistance.- Returns:
- a configuration builder.
-
getThresholdAmount
-
getThresholdRatio
protected double getThresholdRatio(int nbFeatures) return a ratio to apply on the amount of maximum un-similarity amount depending on the number of features which are considered.- Parameters:
nbFeatures
- the nb of features which should be considerd to compute the amount.- Returns:
- a ratio to appli on the amount of maximum un-similarity amount depending on the number of features which are considered.
-