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 /**
26 * This class implements an Alert for use in situations like where a
27 * <code>InstantiationException</code> has been thrown.
28 */
29 public class InstantiationAlert extends Alert {
30
31 /**
32 * This is the ID from the first release for future compatibility.
33 */
34 private static final long serialVersionUID = 3257567308619854649L;
35
36 /**
37 * Constructs a new instantiation alert with no explanation.
38 */
39 public InstantiationAlert() {
40 this( null );
41 }
42
43 /**
44 * Constructs a new instantiation alert with the specified explanation.
45 *
46 * @param exp the explanation for the alert
47 */
48 public InstantiationAlert( final String exp ) {
49 this( "Could not instantiate class", exp );
50 }
51
52 /**
53 * Constructs a new alert with the specified complaint and explanation.
54 * This constructor is for private use, to allow us to provide an exception
55 * hierarchy.
56 *
57 * @param comp the alerts complaint
58 * @param exp the explanation for the alert
59 */
60 protected InstantiationAlert( final String comp, final String exp ) {
61 super( comp, exp );
62 }
63
64 public InstantiationAlert culpritClass( final Class problemClass ) {
65 return (InstantiationAlert) this.culprit( "class", problemClass );
66 }
67
68 public InstantiationAlert culpritClass( final String className ) {
69 return (InstantiationAlert) this.culprit( "class", className );
70 }
71
72 }