## org.hamcrest
Class FeatureMatcher<T,U>

    java.lang.Object
      org.hamcrest.BaseMatcher<T>
          org.hamcrest.TypeSafeDiagnosingMatcher<T>
              org.hamcrest.FeatureMatcher<T,U>

Type Parameters:
  `T` - The type of the object to be matched
  `U` - The type of the feature to be matched

All Implemented Interfaces:
  Matcher<T>, SelfDescribing

    public abstract class FeatureMatcher<T,U>

extends TypeSafeDiagnosingMatcher<T>

Supporting class for matching a feature of an object. Implement `featureValueOf()` in a subclass to pull out the feature to be matched against.

Constructor Summary
`FeatureMatcher(Matcher<? super U> subMatcher, String featureDescription, String featureName)` Constructor

Method Summary
`void` `describeTo(Description description)` Generates a description of the object.
`protected abstract U` `featureValueOf(T actual)` Implement this to extract the interesting feature.
`protected boolean` `matchesSafely(T actual, Description mismatch)` Subclasses should implement this.

Methods inherited from class org.hamcrest.TypeSafeDiagnosingMatcher
`describeMismatch, matches`

Methods inherited from class org.hamcrest.BaseMatcher
`_dont_implement_Matcher___instead_extend_BaseMatcher_, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### FeatureMatcher

    public FeatureMatcher(Matcher<? super U> subMatcher,
                          String featureDescription,
                          String featureName)

  Constructor

  Parameters:
    `subMatcher` - The matcher to apply to the feature
    `featureDescription` - Descriptive text to use in describeTo
    `featureName` - Identifying text for mismatch message

Method Detail

### featureValueOf

    protected abstract U featureValueOf(T actual)

  Implement this to extract the interesting feature.

  Parameters:
    `actual` - the target object
  Returns:
    the feature to be matched

### matchesSafely

    protected boolean matchesSafely(T actual,
                                    Description mismatch)

  Description copied from class: `TypeSafeDiagnosingMatcher`
  Subclasses should implement this. The item will already have been checked for the specific type and will never be null.

  Specified by:
    `matchesSafely` in class `TypeSafeDiagnosingMatcher<T>`

### describeTo

    public final void describeTo(Description description)

  Description copied from interface: `SelfDescribing`
  Generates a description of the object. The description may be part of a a description of a larger object of which this is just a component, so it should be worded appropriately.

  Parameters:
    `description` - The description to be built or appended to.

Copyright © 2002–2020 JUnit. All rights reserved.