## org.eclipse.emf.compare.match.engine
Interface IMatchEngine

All Known Implementing Classes:
  GenericMatchEngine

    public interface IMatchEngine

A Match Engine is responsible for returning a match model from a set of models. The resulting match model is then used to create a diff between the two models.

Method Summary
`MatchModel` `contentMatch(org.eclipse.emf.ecore.EObject leftObject, org.eclipse.emf.ecore.EObject rightObject, org.eclipse.emf.ecore.EObject ancestor, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method will compare three `EObject`s and their direct content, ignoring the given objects' siblings and parents for the match.
`MatchModel` `contentMatch(org.eclipse.emf.ecore.EObject leftObject, org.eclipse.emf.ecore.EObject rightRoot, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method will compare two `EObject`s and their direct content, ignoring the given objects' siblings and parents for the match.
`MatchModel` `modelMatch(org.eclipse.emf.ecore.EObject leftRoot, org.eclipse.emf.ecore.EObject rightRoot, org.eclipse.emf.ecore.EObject ancestor, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method returns a MatchModel for three models.
`MatchModel` `modelMatch(org.eclipse.emf.ecore.EObject leftRoot, org.eclipse.emf.ecore.EObject rightRoot, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method returns a MatchModel for two models.
`void` `reset()` This will be called with each access from the service to the singleton instance of this engine.
`MatchModel` `resourceMatch(org.eclipse.emf.ecore.resource.Resource leftResource, org.eclipse.emf.ecore.resource.Resource rightResource, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method returns a MatchModel for two resources.
`MatchModel` `resourceMatch(org.eclipse.emf.ecore.resource.Resource leftResource, org.eclipse.emf.ecore.resource.Resource rightResource, org.eclipse.emf.ecore.resource.Resource ancestorResource, java.util.Map<java.lang.String,java.lang.Object> optionMap)` This method returns a MatchModel for three resources.

Method Detail

### contentMatch

    MatchModel contentMatch(org.eclipse.emf.ecore.EObject leftObject,
                            org.eclipse.emf.ecore.EObject rightObject,
                            org.eclipse.emf.ecore.EObject ancestor,
                            java.util.Map<java.lang.String,java.lang.Object> optionMap)
                            throws java.lang.InterruptedException

  This method will compare three `EObject`s and their direct content, ignoring the given objects' siblings and parents for the match.

  Parameters:
    `leftObject` - Left of the three objects to get compared.
    `rightObject` - Right of the three objects to compare.
    `ancestor` - Common ancestor of the two others.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    `MatchModel` for these three objects' comparison.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

### contentMatch

    MatchModel contentMatch(org.eclipse.emf.ecore.EObject leftObject,
                            org.eclipse.emf.ecore.EObject rightRoot,
                            java.util.Map<java.lang.String,java.lang.Object> optionMap)
                            throws java.lang.InterruptedException

  This method will compare two `EObject`s and their direct content, ignoring the given objects' siblings and parents for the match.

  Parameters:
    `leftObject` - Left of the two objects to get compared.
    `rightRoot` - Right of the two objects to compare.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    `MatchModel` for these two objects' comparison.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

### modelMatch

    MatchModel modelMatch(org.eclipse.emf.ecore.EObject leftRoot,
                          org.eclipse.emf.ecore.EObject rightRoot,
                          org.eclipse.emf.ecore.EObject ancestor,
                          java.util.Map<java.lang.String,java.lang.Object> optionMap)
                          throws java.lang.InterruptedException

  This method returns a MatchModel for three models.

  Parameters:
    `leftRoot` - Left model for the comparison.
    `rightRoot` - Right model for the comparison.
    `ancestor` - Common ancestor of the right and left models.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    The corresponding `MatchModel`.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

### modelMatch

    MatchModel modelMatch(org.eclipse.emf.ecore.EObject leftRoot,
                          org.eclipse.emf.ecore.EObject rightRoot,
                          java.util.Map<java.lang.String,java.lang.Object> optionMap)
                          throws java.lang.InterruptedException

  This method returns a MatchModel for two models.

  Parameters:
    `leftRoot` - Left model for the comparison.
    `rightRoot` - Right model for the comparison.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    The corresponding `MatchModel`.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

### reset

    void reset()

  This will be called with each access from the service to the singleton instance of this engine. Clients should dispose of all caches and recorded information within this method's implementation.

### resourceMatch

    MatchModel resourceMatch(org.eclipse.emf.ecore.resource.Resource leftResource,
                             org.eclipse.emf.ecore.resource.Resource rightResource,
                             java.util.Map<java.lang.String,java.lang.Object> optionMap)
                             throws java.lang.InterruptedException

  This method returns a MatchModel for two resources.

  Parameters:
    `leftResource` - Left compared resource.
    `rightResource` - Right compared resource.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    The corresponding `MatchModel`.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

### resourceMatch

    MatchModel resourceMatch(org.eclipse.emf.ecore.resource.Resource leftResource,
                             org.eclipse.emf.ecore.resource.Resource rightResource,
                             org.eclipse.emf.ecore.resource.Resource ancestorResource,
                             java.util.Map<java.lang.String,java.lang.Object> optionMap)
                             throws java.lang.InterruptedException

  This method returns a MatchModel for three resources.

  Parameters:
    `leftResource` - Left compared resource.
    `rightResource` - Right compared resource.
    `ancestorResource` - Common ancestor of the two compared resources.
    `optionMap` - Options to tweak the matching procedure. `null` or `Collections.EMPTY_MAP` will result in the default options to be used.
  Returns:
    The corresponding `MatchModel`.
  Throws:
    `java.lang.InterruptedException` - Thrown if the options map specifies a progress monitor, and the comparison gets interrupted somehow.
  Since:
    1.0
  See Also:
    `MatchOptions`

Copyright 2006 IBM Corporation and others. All Rights Reserved.