001 package org.hamcrest; 002 003 /** 004 * TODO(ngd): Document. 005 * 006 * @param <T> 007 */ 008 public abstract class DiagnosingMatcher<T> extends BaseMatcher<T> { 009 010 @Override 011 public final boolean matches(Object item) { 012 return matches(item, Description.NONE); 013 } 014 015 @Override 016 public final void describeMismatch(Object item, Description mismatchDescription) { 017 matches(item, mismatchDescription); 018 } 019 020 protected abstract boolean matches(Object item, Description mismatchDescription); 021 }