org.hamcrest
Class FeatureMatcher<T,U>

java.lang.Object
  extended by org.hamcrest.BaseMatcher<T>
      extended by org.hamcrest.TypeSafeDiagnosingMatcher<T>
          extended by 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
Direct Known Subclasses:
HasToString, IsArrayWithSize, IsCollectionWithSize, IsIterableWithSize

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, java.lang.String featureDescription, java.lang.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,
                      java.lang.String featureDescription,
                      java.lang.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.