1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.millscript.commons.alert.alerts;
22
23 import org.millscript.commons.alert.Alert;
24
25 import java.lang.reflect.Field;
26 import java.lang.reflect.Method;
27
28 /**
29 * This class implements an Alert for use in situations like where a
30 * <code>IllegalAccessException</code> has been thrown.
31 */
32 public class IllegalAccessAlert extends Alert {
33
34 /**
35 * This is the ID from the first release for future compatibility.
36 */
37 private static final long serialVersionUID = 3256723978956453936L;
38
39 /**
40 * Constructs a new illegal access alert with no explanation.
41 */
42 public IllegalAccessAlert() {
43 this( null );
44 }
45
46 /**
47 * Constructs a new illegal access alert with the specified explanation.
48 *
49 * @param exp the explanation for the alert
50 */
51 public IllegalAccessAlert( final String exp ) {
52 this( "Illegal access to a class, field or method", exp );
53 }
54
55 /**
56 * Constructs a new alert with the specified complaint and explanation.
57 * This constructor is for private use, to allow us to provide an exception
58 * hierarchy.
59 *
60 * @param comp the alerts complaint
61 * @param exp the explanation for the alert
62 */
63 protected IllegalAccessAlert( final String comp, final String exp ) {
64 super( comp, exp );
65 }
66
67 public IllegalAccessAlert culpritClass( final Class problemClass ) {
68 return (IllegalAccessAlert) this.culprit( "class", problemClass );
69 }
70
71 public IllegalAccessAlert culpritClass( final String className ) {
72 return (IllegalAccessAlert) this.culprit( "class", className );
73 }
74
75 public IllegalAccessAlert culpritField( final Field problemField ) {
76 return (IllegalAccessAlert) this.culprit( "field", problemField );
77 }
78
79 public IllegalAccessAlert culpritField( final String fieldName ) {
80 return (IllegalAccessAlert) this.culprit( "field", fieldName );
81 }
82
83 public IllegalAccessAlert culpritMethod( final Method problemMethod ) {
84 return (IllegalAccessAlert) this.culprit( "method", problemMethod );
85 }
86
87 public IllegalAccessAlert culpritMethod( final String methodName ) {
88 return (IllegalAccessAlert) this.culprit( "method", methodName );
89 }
90
91 }