de.caff.generics

## Interface Matcher<T1,T2>

- All Superinterfaces:
    java.util.function.BiPredicate<T1,T2>
  All Known Subinterfaces:
    UniformMatcher<T>
  All Known Implementing Classes:
    BasicMatcher, ComparableMatcher, ComparatorMatcher, HashCoder, NegateMatcher, NullCheckMatcher, ReferenceMatcher, RevertedMatcher, RevertedUniformMatcher
  Functional Interface:
    This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

      @FunctionalInterface
      public interface Matcher<T1,T2>
      extends java.util.function.BiPredicate<T1,T2>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `areEqual(T1 object1, T2 object2)` Are the given two objects considered equal?
    `default Predicate1<T2>` | `foldLeft(T1 object1)` Get a predicate with a fix argument for the first object of the equality check.
    `default Predicate1<T1>` | `foldRight(T2 object2)` Get a predicate with a fix argument for the second object of the equality check.
    `default boolean` | `test(T1 t1, T2 t2)`

    - ### Methods inherited from interface java.util.function.BiPredicate

      `and, negate, or`

- - ### Method Detail

    - #### areEqual

          boolean areEqual(T1 object1,
                           T2 object2)

      Are the given two objects considered equal?
      Parameters:
        `object1` - first object
        `object2` - second object
      Returns:
        `true` if this matcher considers the two objects equal
        `false` if this matcher considers them different

    - #### test

          default boolean test(T1 t1,
                               T2 t2)

      Specified by:
        `test` in interface `java.util.function.BiPredicate<T1,T2>`

    - #### foldLeft

          @NotNull
          default Predicate1<T2> foldLeft(T1 object1)

      Get a predicate with a fix argument for the first object of the equality check.
      Parameters:
        `object1` - fix first object
      Returns:
        predicate checking an object for being the same as `object1`

    - #### foldRight

          @NotNull
          default Predicate1<T1> foldRight(T2 object2)

      Get a predicate with a fix argument for the second object of the equality check.
      Parameters:
        `object2` - fix second object argument
      Returns:
        predicate checking an object for being the same as `object2`