19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.reflect.annotation;
27 import java.lang.annotation.*;
28 import java.lang.reflect.Method;
29
30 /**
31 * ExceptionProxy for AnnotationTypeMismatchException.
32 *
33 * @author Josh Bloch
34 * @since 1.5
35 */
36 class AnnotationTypeMismatchExceptionProxy extends ExceptionProxy {
37 @java.io.Serial
38 private static final long serialVersionUID = 7844069490309503934L;
39 private Method member;
40 private final String foundType;
41
42 /**
43 * It turns out to be convenient to construct these proxies in
44 * two stages. Since this is a private implementation class, we
45 * permit ourselves this liberty even though it's normally a very
46 * bad idea.
47 */
48 AnnotationTypeMismatchExceptionProxy(String foundType) {
49 this.foundType = foundType;
50 }
51
52 AnnotationTypeMismatchExceptionProxy setMember(Method member) {
53 this.member = member;
54 return this;
55 }
56
57 protected RuntimeException generateException() {
58 return new AnnotationTypeMismatchException(member, foundType);
59 }
|
19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 *
21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 * or visit www.oracle.com if you need additional information or have any
23 * questions.
24 */
25
26 package sun.reflect.annotation;
27 import java.lang.annotation.*;
28 import java.lang.reflect.Method;
29
30 /**
31 * ExceptionProxy for AnnotationTypeMismatchException.
32 *
33 * @author Josh Bloch
34 * @since 1.5
35 */
36 class AnnotationTypeMismatchExceptionProxy extends ExceptionProxy {
37 @java.io.Serial
38 private static final long serialVersionUID = 7844069490309503934L;
39 @SuppressWarnings("serial") // Not statically typed as Serializable
40 private Method member; // Would be more robust to null-out in a writeObject method.
41 private final String foundType;
42
43 /**
44 * It turns out to be convenient to construct these proxies in
45 * two stages. Since this is a private implementation class, we
46 * permit ourselves this liberty even though it's normally a very
47 * bad idea.
48 */
49 AnnotationTypeMismatchExceptionProxy(String foundType) {
50 this.foundType = foundType;
51 }
52
53 AnnotationTypeMismatchExceptionProxy setMember(Method member) {
54 this.member = member;
55 return this;
56 }
57
58 protected RuntimeException generateException() {
59 return new AnnotationTypeMismatchException(member, foundType);
60 }
|