# Package org.hamcrest

The stable API defining Matcher and its associated interfaces and classes.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Condition.Step<I,O> |
  Description | A description of a Matcher.
  Matcher<T> | A matcher over acceptable values.
  SelfDescribing | The ability of an object to describe itself.

- Class Summary
  Class | Description
  --- | ---
  BaseDescription | A `Description` that is stored as a string.
  BaseMatcher<T> | BaseClass for all Matcher implementations.
  Condition<T> | A Condition implements part of a multi-step match.
  CoreMatchers |
  CustomMatcher<T> | Utility class for writing one off matchers.
  CustomTypeSafeMatcher<T> | Utility class for writing one off matchers.
  Description.NullDescription |
  DiagnosingMatcher<T> | TODO(ngd): Document.
  FeatureMatcher<T,U> | Supporting class for matching a feature of an object.
  MatcherAssert |
  StringDescription | A `Description` that is stored as a string.
  TypeSafeDiagnosingMatcher<T> | Convenient base class for Matchers that require a non-null value of a specific type and that will report why the received value has been rejected.
  TypeSafeMatcher<T> | Convenient base class for Matchers that require a non-null value of a specific type.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  Factory | Marks a Hamcrest static factory method so tools recognise them.

## Package org.hamcrest Description

The stable API defining Matcher and its associated interfaces and classes. Hamcrest sub-projects define their convenience classes in the org.hamcrest package.