Interface IMatchEngine

All Known Implementing Classes:
DefaultMatchEngine

public interface IMatchEngine
This class defines the general contract of a Matching engine. We expect subclasses to have a public, no-argument default constructor for instantiation.

We generally expect that a call to #match(IComparisonScope) will return us every single matches that can be determined from the given context. This includes all three of :

  • Elements that are present on all three sides of the comparison scope,
  • Elements that are present on only two sides,
  • Elements that are only present on a single side.

Clients can subclass the default implementation when all that is needed is to change the matching strategy.

See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Wrapper describing the given match engine.
  • Method Summary

    Modifier and Type
    Method
    Description
    match(IComparisonScope scope, Monitor monitor)
    This is the entry point of a Comparison process.
  • Method Details

    • match

      Comparison match(IComparisonScope scope, Monitor monitor)
      This is the entry point of a Comparison process. It is expected to use the provided scope in order to determine all objects that need to be matched.

      The returned Comparison should include both matched an unmatched objects. It is not the match engine's responsibility to determine differences between objects, only to match them together.

      Parameters:
      scope - The comparison scope that should be used by this engine to determine the objects to match.
      monitor - The monitor to report progress or to check for cancellation
      Returns:
      An initialized Comparison model with all matches determined.