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
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder class to configure an EditionDistance instance. -
Constructor Summary
ConstructorsConstructorDescriptionInstantiate 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 TypeMethodDescriptionbooleanareIdentic(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.Builderbuilder()Create a new builder to instantiate and configure an EditionDistance.doubledistance(Comparison inProgress, EObject a, EObject b) Return the distance between two EObjects.doublegetThresholdAmount(EObject eObj) protected doublegetThresholdRatio(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:
distancein 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:
areIdenticin 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.
-