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
ConstructorDescriptionDeprecated.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 Match
Returns the match of this EObject if any,null
otherwise.Deprecated.boolean
isAdapterForType
(Object type) boolean
matchingAttributeValues
(Object object1, Object object2) This should only be used if the two given Objects are known not to be instances of EObjects.protected boolean
matchingEObjects
(EObject object1, EObject object2) Compares two values as EObjects, using their Match if it can be found, comparing through their URIs otherwise.protected boolean
matchingURIs
(EObject object1, EObject object2) Compare the URIs (of similar concept) of EObjects.boolean
matchingValues
(Object object1, Object object2) Check that the two given values are "equal", considering the specifics of EMF.boolean
matchingValues
(Comparison comparison, Object object1, Object object2) Deprecated.void
Methods inherited from class org.eclipse.emf.common.notify.impl.AdapterImpl
notifyChanged, unsetTarget
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
getTarget
in interfaceAdapter
- Specified by:
getTarget
in interfaceIEqualityHelper
- Overrides:
getTarget
in classAdapterImpl
- See Also:
-
setTarget
- Specified by:
setTarget
in interfaceAdapter
- Overrides:
setTarget
in classAdapterImpl
- See Also:
-
isAdapterForType
- Specified by:
isAdapterForType
in interfaceAdapter
- Overrides:
isAdapterForType
in 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:
true
if both objects are to be considered equal,false
otherwise.- See Also:
-
matchingValues
Check that the two given values are "equal", considering the specifics of EMF.- Specified by:
matchingValues
in interfaceIEqualityHelper
- Parameters:
object1
- First of the two objects to compare here.object2
- Second of the two objects to compare here.- Returns:
true
if both objects are to be considered equal,false
otherwise.- 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:
true
if these two EObjects are to be considered equal,false
otherwise.
-
getMatch
Returns the match of this EObject if any,null
otherwise.- Parameters:
o
- The object for which we need the associated Match.- Returns:
- Match of this EObject if any,
null
otherwise.
-
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:
true
if these two EObjects have the same URIs,false
otherwise.
-
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:
matchingAttributeValues
in interfaceIEqualityHelper
- Parameters:
object1
- First of the two objects to compare here.object2
- Second of the two objects to compare here.- Returns:
true
if both objects are to be considered equal,false
otherwise.- 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
null
if 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.
-