public class LogicalMatcher
extends java.lang.Object
implements com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher, com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.MorphingMatcher
Constructor and Description |
---|
LogicalMatcher(com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher matcher,
java.util.List resources) |
Modifier and Type | Method and Description |
---|---|
boolean |
canMatch(org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.ecore.EObject eObject) |
void |
dispose()
dispose this matcher
|
org.eclipse.emf.ecore.EObject |
find(org.eclipse.emf.ecore.resource.Resource resource,
java.lang.String matchingId)
Returns the
EObject uniquely identified by the passed
matching ID if one is found, otherwise null . |
protected org.eclipse.emf.ecore.resource.Resource |
findLogicalResource(org.eclipse.emf.ecore.resource.Resource resource) |
java.lang.String |
getMatchingId(org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.ecore.EObject object)
Returns a unique identifer (matching ID) to the given object.
|
java.lang.String |
getResolvedMatchingId(org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.ecore.EObject eObject)
The method returns the resolved matching id for the given object.
|
org.eclipse.emf.common.util.URI |
getURI(org.eclipse.emf.ecore.EObject object)
Get the given URI of the given object.
|
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher |
getWrappedMatcher() |
void |
initialize()
Resets the matcher to its initial state.
|
int |
morph(org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.ecore.EObject eObject,
java.lang.String matchingId)
update matcher's cache by replacing old object with new (morphed) object
|
void |
setMatch(org.eclipse.emf.ecore.resource.Resource targetResource,
org.eclipse.emf.ecore.EObject target,
org.eclipse.emf.ecore.resource.Resource sourceResource,
org.eclipse.emf.ecore.EObject source)
Sets a match between a target eObject and a source eObject.
|
void |
unMatch(org.eclipse.emf.ecore.resource.Resource resource,
org.eclipse.emf.ecore.EObject object)
Makes sure the given object will not match any other object.
|
public LogicalMatcher(com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher matcher, java.util.List resources)
public void initialize()
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
initialize
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
public com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher getWrappedMatcher()
public org.eclipse.emf.ecore.EObject find(org.eclipse.emf.ecore.resource.Resource resource, java.lang.String matchingId)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
EObject
uniquely identified by the passed
matching ID if one is found, otherwise null
.find
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
resource
- the searched resourcematchingId
- the unique identifier for an objectnull
public java.lang.String getMatchingId(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.EObject object)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
getMatchingId
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
resource
- the searched resourceobject
- the searched objectnull
protected org.eclipse.emf.ecore.resource.Resource findLogicalResource(org.eclipse.emf.ecore.resource.Resource resource)
public java.lang.String getResolvedMatchingId(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.EObject eObject)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
getResolvedMatchingId
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
public void setMatch(org.eclipse.emf.ecore.resource.Resource targetResource, org.eclipse.emf.ecore.EObject target, org.eclipse.emf.ecore.resource.Resource sourceResource, org.eclipse.emf.ecore.EObject source)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
setMatch
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
targetResource
- resource of target objecttarget
- target object to matchsourceResource
- resource of source objectsource
- source object to matchpublic boolean canMatch(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.EObject eObject)
canMatch
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
true
if a given objects can be manually matched.
To be overridden to disable manual matching for objects of specific type,
such as diagram elements etc.public void unMatch(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.EObject object)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
unMatch
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
resource
- of the objectobject
- to un-matchpublic org.eclipse.emf.common.util.URI getURI(org.eclipse.emf.ecore.EObject object)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
getURI
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
public void dispose()
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
dispose
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.Matcher
public int morph(org.eclipse.emf.ecore.resource.Resource resource, org.eclipse.emf.ecore.EObject eObject, java.lang.String matchingId)
com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.MorphingMatcher
morph
in interface com.ibm.xtools.comparemerge.emf.delta.deltagenerator.matcher.MorphingMatcher
resource
- -
resource which contains morphed objecteObject
- -
morphed objectmatchingId
- -
morphed (and old) object mathicn id