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
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.
-
Constructor Summary
ModifierConstructorDescriptionprotected
The default constructor for simple sub typesprotected
TypeSafeMatcher
(Class<?> expectedType) Use this constructor if the subclass that implementsmatchesSafely
is not the class that binds <T> to a type.protected
TypeSafeMatcher
(org.hamcrest.internal.ReflectiveTypeFinder typeFinder) Use this constructor if the subclass that implementsmatchesSafely
is not the class that binds <T> to a type. -
Method Summary
Modifier and TypeMethodDescriptionfinal void
describeMismatch
(Object item, Description description) Generate a description of why the matcher has not accepted the item.protected void
describeMismatchSafely
(T item, Description mismatchDescription) Describe the mismatch.final boolean
Methods made final to prevent accidental override.protected abstract boolean
matchesSafely
(T item) Check if the item matches.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 Details
-
TypeSafeMatcher
protected TypeSafeMatcher()The default constructor for simple sub types -
TypeSafeMatcher
Use this constructor if the subclass that implementsmatchesSafely
is not the class that binds <T> to a type.- Parameters:
expectedType
- The expectedType of the actual value.
-
TypeSafeMatcher
protected TypeSafeMatcher(org.hamcrest.internal.ReflectiveTypeFinder typeFinder) Use this constructor if the subclass that implementsmatchesSafely
is not the class that binds <T> to a type.- Parameters:
typeFinder
- A type finder to extract the type
-
-
Method Details
-
matchesSafely
Check if the item matches. The item will already have been checked for the specific type and will never be null. Subclasses should implement this.- Parameters:
item
- the type safe item to match against.- Returns:
- boolean true/false depending if item matches matcher.
-
describeMismatchSafely
Describe the mismatch. The item will already have been checked for the specific type and will never be null. Subclasses should override this.- Parameters:
item
- the type safe item to match against.mismatchDescription
- the mismatch description.
-
matches
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:
true
if item matches, otherwisefalse
.- See Also:
-
describeMismatch
Description copied from interface:Matcher
Generate 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:
describeMismatch
in interfaceMatcher<T>
- Overrides:
describeMismatch
in classBaseMatcher<T>
- Parameters:
item
- The item that the Matcher has rejected.description
- The description to be built or appended to.
-