A matcher over acceptable values. A matcher is able to describe itself to give feedback when it fails.
Matcher implementations should
NOT directly implement this interface. Instead,
extend the {@link BaseMatcher} abstract class, which willensure that the Matcher API can grow to support new features and remain compatible with all Matcher implementations.
For easy access to common Matcher implementations, use the static factory methods in {@link CoreMatchers}.
@see CoreMatchers
@see BaseMatcher