1 | 1816 | |
2 | |
|
3 | |
|
4 | |
package com.lexicalscope.fluentreflection; |
5 | |
|
6 | |
import org.apache.commons.lang3.builder.EqualsBuilder; |
7 | |
import org.hamcrest.Description; |
8 | |
|
9 | |
final class MatcherReflectingOn extends ReflectionMatcher<FluentClass<?>> { |
10 | |
private final Class<?> klass; |
11 | |
|
12 | 1144 | MatcherReflectingOn(final Class<?> klass) { |
13 | 1144 | this.klass = klass; |
14 | 1144 | } |
15 | |
|
16 | |
@Override public boolean matchesSafely(final FluentClass<?> arg) { |
17 | 1816 | return arg.classUnderReflection().equals(klass); |
18 | |
} |
19 | |
|
20 | |
@Override public void describeTo(final Description description) { |
21 | 24 | description.appendText("type ").appendValue(klass); |
22 | 24 | } |
23 | |
|
24 | |
@Override public final boolean equals(final Object obj) { |
25 | 0 | if (obj != null && obj.getClass().equals(this.getClass())) { |
26 | 0 | return new EqualsBuilder() |
27 | 0 | .append(klass, ((MatcherReflectingOn) obj).klass) |
28 | 0 | .isEquals(); |
29 | |
} |
30 | 0 | return false; |
31 | |
} |
32 | |
|
33 | |
@Override public final int hashCode() { |
34 | 0 | return klass.hashCode(); |
35 | |
} |
36 | |
} |