1 package com.lexicalscope.fluentreflection;
2
3 import org.hamcrest.Matcher;
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 final class MethodNotFoundException extends ReflectionRuntimeException {
22 private static final long serialVersionUID = 6649785414761324558L;
23 private Class<?> klass;
24 private Matcher<? super FluentMethod> methodMatcher;
25
26 public MethodNotFoundException() {
27 super();
28 }
29
30 public MethodNotFoundException(final String message, final Throwable cause) {
31 super(message, cause);
32 }
33
34 public MethodNotFoundException(final String message) {
35 super(message);
36 }
37
38 public MethodNotFoundException(final Throwable cause) {
39 super(cause);
40 }
41
42 public MethodNotFoundException(final Class<?> klass, final Matcher<? super FluentMethod> methodMatcher) {
43 this(String.format("unable to find method matching <%s> in %s", methodMatcher, klass));
44 this.klass = klass;
45 this.methodMatcher = methodMatcher;
46 }
47
48 public Class<?> getKlass() {
49 return klass;
50 }
51
52 public Matcher<? super FluentMethod> getMethodMatcher() {
53 return methodMatcher;
54 }
55 }