Package org.eclipse.emf.compare.match.resource

## Class LocationMatchingStrategy

- java.lang.Object
- - org.eclipse.emf.compare.match.resource.LocationMatchingStrategy

All Implemented Interfaces:
  `IResourceMatchingStrategy`

    public class LocationMatchingStrategy
    extends Object
    implements IResourceMatchingStrategy

This implementation of a matching strategy will only use String equality on the resource URIs to try and find resource mappings. This is only applicable when comparing or merging models with version control systems like git, it makes no sense for local comparisons.

### Constructor Summary

Constructors
`LocationMatchingStrategy()`

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`protected static MatchResource` `createMatchResource​(Resource left, Resource right, Resource origin)` Creates a `MatchResource` instance and sets all three resources of the mapping on it.
`protected Resource` `findMatch​(Resource reference, Iterable<Resource> candidates)` Returns the first match of `reference` in `candidates`.
`List<MatchResource>` `matchResources​(Iterable<? extends Resource> left, Iterable<? extends Resource> right, Iterable<? extends Resource> origin)` This will be called by the resource matcher in order to determine the matching between n resources.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### LocationMatchingStrategy

    public LocationMatchingStrategy()

### Method Detail

#### matchResources

    public List<MatchResource> matchResources​(Iterable<? extends Resource> left,
                                              Iterable<? extends Resource> right,
                                              Iterable<? extends Resource> origin)

This will be called by the resource matcher in order to determine the matching between n resources.

Specified by:
  `matchResources` in interface `IResourceMatchingStrategy`
Parameters:
  `left` - Resources we are to match in the left.
  `right` - Resources we are to match in the right.
  `origin` - Resources we are to match in the origin.
Returns:
  The list of mappings this strategy managed to determine.
See Also:
  `IResourceMatchingStrategy.matchResources(java.lang.Iterable, java.lang.Iterable, java.lang.Iterable)`

#### findMatch

    protected Resource findMatch​(Resource reference,
                                 Iterable<Resource> candidates)

Returns the first match of `reference` in `candidates`. This implementation will consider two Resources to be "matches" if they have the same location.

Parameters:
  `reference` - The reference resource.
  `candidates` - The list of potential candidates that may match `reference`.
Returns:
  The first match of `reference` in `candidates`. `null` if none.

#### createMatchResource

    protected static MatchResource createMatchResource​(Resource left,
                                                       Resource right,
                                                       Resource origin)

Creates a `MatchResource` instance and sets all three resources of the mapping on it.

Parameters:
  `left` - The left resource of this mapping.
  `right` - The right resource of this mapping.
  `origin` - The origin resource of this mapping.
Returns:
  The create mapping.