BaseMatcher (Hamcrest 2.1 API)
Date: 2018-12-21

org.hamcrest

## Class BaseMatcher<T>

- java.lang.Object
- - org.hamcrest.BaseMatcher<T>

- All Implemented Interfaces:
    Matcher<T>, SelfDescribing
  Direct Known Subclasses:
    AnyOf, CustomMatcher, DescribedAs, DiagnosingMatcher, Is, IsAnything, IsEqual, IsIn, IsNot, IsNull, IsSame, TypeSafeDiagnosingMatcher, TypeSafeMatcher

      public abstract class BaseMatcher<T>
      extends java.lang.Object
      implements Matcher<T>

  BaseClass for all Matcher implementations.
  See Also:
    `Matcher`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `BaseMatcher()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `_dont_implement_Matcher___instead_extend_BaseMatcher_()` Deprecated.
    `void` | `describeMismatch(java.lang.Object item, Description description)` Generate a description of why the matcher has not accepted the item.
    `protected static boolean` | `isNotNull(java.lang.Object actual, Description mismatch)` Useful null-check method.
    `java.lang.String` | `toString()`

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

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

    - ### Methods inherited from interface org.hamcrest.Matcher

      `matches`

    - ### Methods inherited from interface org.hamcrest.SelfDescribing

      `describeTo`

- - ### Constructor Detail

    - #### BaseMatcher

          public BaseMatcher()

  - ### Method Detail

    - #### _dont_implement_Matcher___instead_extend_BaseMatcher_

          @Deprecated
          public final void _dont_implement_Matcher___instead_extend_BaseMatcher_()

      Deprecated.
      Description copied from interface: `Matcher`
      This method simply acts a friendly reminder not to implement Matcher directly and instead extend BaseMatcher. It's easy to ignore JavaDoc, but a bit harder to ignore compile errors .
      Specified by:
        `_dont_implement_Matcher___instead_extend_BaseMatcher_` in interface `Matcher<T>`
      See Also:
        `Matcher._dont_implement_Matcher___instead_extend_BaseMatcher_()`

    - #### describeMismatch

          public void describeMismatch(java.lang.Object item,
                                       Description description)

      Description copied from interface: `Matcher`
      Generate a description of why the matcher has not accepted the item. The description will be part of a larger description of why a matching failed, so it should be concise. This method assumes that `matches(item)` is false, but will not check this.
      Specified by:
        `describeMismatch` in interface `Matcher<T>`
      Parameters:
        `item` - The item that the Matcher has rejected.
        `description` - The description to be built or appended to.

    - #### toString

          public java.lang.String toString()

      Overrides:
        `toString` in class `java.lang.Object`

    - #### isNotNull

          protected static boolean isNotNull(java.lang.Object actual,
                                             Description mismatch)

      Useful null-check method. Writes a mismatch description if the actual object is null
      Parameters:
        `actual` - the object to check
        `mismatch` - where to write the mismatch description, if any
      Returns:
        false iff the actual object is null