blob: 8ebe73978458ba0a1e3bd605eee026bdd6a64208 [file] [log] [blame]
package org.hamcrest.text;
import org.hamcrest.Description;
import org.hamcrest.TypeSafeMatcher;
public abstract class SubstringMatcher extends TypeSafeMatcher<String> {
// TODO: Replace String with CharSequence to allow for easy interopability between
// String, StringBuffer, StringBuilder, CharBuffer, etc (joe).
protected final String substring;
protected SubstringMatcher(final String substring) {
this.substring = substring;
}
public boolean matchesSafely(String item) {
return evalSubstringOf(item);
}
public void describeTo(Description description) {
description.appendText("a string ")
.appendText(relationship())
.appendText(" ")
.appendValue(substring);
}
protected abstract boolean evalSubstringOf(String string);
protected abstract String relationship();
}