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:
    DefaultMatchEngine
    • Method Detail

      • 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.