Package org.eclipse.emf.compare.utils
Class EqualityHelper
java.lang.Object
org.eclipse.emf.common.notify.impl.AdapterImpl
org.eclipse.emf.compare.utils.EqualityHelper
- All Implemented Interfaces:
Adapter,Adapter.Internal,IEqualityHelper
EMF Compare needs its own rules for "equality", which are based on similarity instead of strict equality.
These will be used throughout the process.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.emf.common.notify.Adapter
Adapter.Internal -
Field Summary
Fields inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
target -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.use the EqualityHelper(Cache) constructor instead.EqualityHelper(com.google.common.cache.LoadingCache<EObject, URI> uriCache) Creates a new EqualityHelper with the given cache.EqualityHelper(com.google.common.cache.LoadingCache<EObject, URI> uriCache, EqualityHelperExtensionProvider.Descriptor.Registry equalityHelperExtensionProviderRegistry) Creates a new EqualityHelper with the given cache and registry. -
Method Summary
Modifier and TypeMethodDescriptioncreateDefaultCache(com.google.common.cache.CacheBuilder<Object, Object> cacheBuilder) Create a cache as required by EqualityHelper.getCache()Deprecated.protected MatchReturns the match of this EObject if any,nullotherwise.Deprecated.booleanisAdapterForType(Object type) booleanmatchingAttributeValues(Object object1, Object object2) This should only be used if the two given Objects are known not to be instances of EObjects.protected booleanmatchingEObjects(EObject object1, EObject object2) Compares two values as EObjects, using their Match if it can be found, comparing through their URIs otherwise.protected booleanmatchingURIs(EObject object1, EObject object2) Compare the URIs (of similar concept) of EObjects.booleanmatchingValues(Object object1, Object object2) Check that the two given values are "equal", considering the specifics of EMF.booleanmatchingValues(Comparison comparison, Object object1, Object object2) Deprecated.voidMethods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
notifyChanged, unsetTargetMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.eclipse.emf.common.notify.Adapter
notifyChanged
-
Constructor Details
-
EqualityHelper
Deprecated.use the EqualityHelper(Cache) constructor instead.Creates a new EqualityHelper. -
EqualityHelper
Creates a new EqualityHelper with the given cache.- Parameters:
uriCache- the cache to be used forEcoreUtil.getURI(EObject)calls.
-
EqualityHelper
public EqualityHelper(com.google.common.cache.LoadingCache<EObject, URI> uriCache, EqualityHelperExtensionProvider.Descriptor.Registry equalityHelperExtensionProviderRegistry) Creates a new EqualityHelper with the given cache and registry.- Parameters:
uriCache- the cache to be used forEcoreUtil.getURI(EObject)calls.equalityHelperExtensionProviderRegistry- Registry ofequality helper extension provider
-
-
Method Details
-
getTarget
- Specified by:
getTargetin interfaceAdapter- Specified by:
getTargetin interfaceIEqualityHelper- Overrides:
getTargetin classAdapterImpl- See Also:
-
setTarget
- Specified by:
setTargetin interfaceAdapter- Overrides:
setTargetin classAdapterImpl- See Also:
-
isAdapterForType
- Specified by:
isAdapterForTypein interfaceAdapter- Overrides:
isAdapterForTypein classAdapterImpl- See Also:
-
matchingValues
Deprecated.Check that the two given values are "equal", considering the specifics of EMF.- Parameters:
comparison- Provides us with the Match necessary for EObject comparison.object1- First of the two objects to compare here.object2- Second of the two objects to compare here.- Returns:
trueif both objects are to be considered equal,falseotherwise.- See Also:
-
matchingValues
Check that the two given values are "equal", considering the specifics of EMF.- Specified by:
matchingValuesin interfaceIEqualityHelper- Parameters:
object1- First of the two objects to compare here.object2- Second of the two objects to compare here.- Returns:
trueif both objects are to be considered equal,falseotherwise.- See Also:
-
matchingEObjects
Compares two values as EObjects, using their Match if it can be found, comparing through their URIs otherwise.- Parameters:
object1- First of the two objects to compare here.object2- Second of the two objects to compare here.- Returns:
trueif these two EObjects are to be considered equal,falseotherwise.
-
getMatch
Returns the match of this EObject if any,nullotherwise.- Parameters:
o- The object for which we need the associated Match.- Returns:
- Match of this EObject if any,
nullotherwise.
-
matchingURIs
Compare the URIs (of similar concept) of EObjects.- Parameters:
object1- First of the two objects to compare here.object2- Second of the two objects to compare here.- Returns:
trueif these two EObjects have the same URIs,falseotherwise.
-
matchingAttributeValues
This should only be used if the two given Objects are known not to be instances of EObjects. EObjects passed for comparison through here will be compared through theirObject.equals(Object)implementation.- Specified by:
matchingAttributeValuesin interfaceIEqualityHelper- Parameters:
object1- First of the two objects to compare here.object2- Second of the two objects to compare here.- Returns:
trueif both objects are to be considered equal,falseotherwise.- See Also:
-
getURI
Deprecated.The EqualityHelper often needs to get an EObject uri. As such it has an internal cache that clients might leverage through this method.- Parameters:
object- any EObject.- Returns:
- the URI of the given EObject, or
nullif we somehow could not compute it.
-
getCache
Deprecated.Returns the cache used by this object.- Returns:
- the cache used by this object.
-
createDefaultCache
public static com.google.common.cache.LoadingCache<EObject,URI> createDefaultCache(com.google.common.cache.CacheBuilder<Object, Object> cacheBuilder) Create a cache as required by EqualityHelper.- Parameters:
cacheBuilder- The builder to use to instantiate the cache.- Returns:
- the new cache.
-