/** * */ package com.lexicalscope.fluentreflection; import org.hamcrest.Description; import org.hamcrest.Matcher; final class MatcherDeclaredBy extends ReflectionMatcher<FluentMember> { private final Matcher<? super FluentClass<?>> declaringKlassMatcher; MatcherDeclaredBy(final Matcher<? super FluentClass<?>> declaringKlassMatcher) { this.declaringKlassMatcher = declaringKlassMatcher; } @Override public boolean matchesSafely(final FluentMember arg) { return declaringKlassMatcher.matches(arg.declarer()); } @Override public void describeTo(final Description description) { description.appendText("callable declared by ").appendDescriptionOf(declaringKlassMatcher); } }