Package org.hamcrest
Class TypeSafeMatcher<T>
- java.lang.Object
-
- org.hamcrest.BaseMatcher<T>
-
- org.hamcrest.TypeSafeMatcher<T>
-
- Type Parameters:
T- the matcher type.
- All Implemented Interfaces:
Matcher<T>,SelfDescribing
- Direct Known Subclasses:
ArrayAsIterableMatcher,BigDecimalCloseTo,CustomTypeSafeMatcher,HasItemInArray,HasProperty,IsArray,IsArrayContainingInAnyOrder,IsArrayContainingInOrder,IsBlankString,IsCloseTo,IsCompatibleType,IsEmptyCollection,IsEmptyIterable,IsEmptyString,IsEqualCompressingWhiteSpace,IsEqualIgnoringCase,IsMapContaining,IsNaN,MatchesPattern,StringContainsInOrder,SubstringMatcher
public abstract class TypeSafeMatcher<T> extends BaseMatcher<T>
Convenient base class for Matchers that require a non-null value of a specific type. This simply implements the null check, checks the type and then casts.- Author:
- Joe Walnes, Steve Freeman, Nat Pryce
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedTypeSafeMatcher()The default constructor for simple sub typesprotectedTypeSafeMatcher(java.lang.Class<?> expectedType)Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.protectedTypeSafeMatcher(ReflectiveTypeFinder typeFinder)Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voiddescribeMismatch(java.lang.Object item, Description description)Generate a description of why the matcher has not accepted the item.protected voiddescribeMismatchSafely(T item, Description mismatchDescription)Subclasses should override this.booleanmatches(java.lang.Object item)Methods made final to prevent accidental override.protected abstract booleanmatchesSafely(T item)Subclasses should implement this.-
Methods inherited from class org.hamcrest.BaseMatcher
_dont_implement_Matcher___instead_extend_BaseMatcher_, isNotNull, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.hamcrest.SelfDescribing
describeTo
-
-
-
-
Constructor Detail
-
TypeSafeMatcher
protected TypeSafeMatcher()
The default constructor for simple sub types
-
TypeSafeMatcher
protected TypeSafeMatcher(java.lang.Class<?> expectedType)
Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.- Parameters:
expectedType- The expectedType of the actual value.
-
TypeSafeMatcher
protected TypeSafeMatcher(ReflectiveTypeFinder typeFinder)
Use this constructor if the subclass that implementsmatchesSafelyis not the class that binds <T> to a type.- Parameters:
typeFinder- A type finder to extract the type
-
-
Method Detail
-
matchesSafely
protected abstract boolean matchesSafely(T item)
Subclasses should implement this. The item will already have been checked for the specific type and will never be null.- Parameters:
item- the type safe item to match against.- Returns:
- boolean true/false depending if item matches matcher.
-
describeMismatchSafely
protected void describeMismatchSafely(T item, Description mismatchDescription)
Subclasses should override this. The item will already have been checked for the specific type and will never be null.- Parameters:
item- the type safe item to match against.mismatchDescription- the mismatch description.
-
matches
public final boolean matches(java.lang.Object item)
Methods made final to prevent accidental override. If you need to override this, there's no point on extending TypeSafeMatcher. Instead, extend theBaseMatcher.- Parameters:
item- the type safe item to match against.- Returns:
trueif item matches, otherwisefalse.- See Also:
BaseMatcher
-
describeMismatch
public final void describeMismatch(java.lang.Object item, Description description)Description copied from interface:MatcherGenerate 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 thatmatches(item)is false, but will not check this.- Specified by:
describeMismatchin interfaceMatcher<T>- Overrides:
describeMismatchin classBaseMatcher<T>- Parameters:
item- The item that the Matcher has rejected.description- The description to be built or appended to.
-
-