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>ClassCastException</code> has been thrown.
28 */
29 public class ClassCastAlert extends Alert {
30
31 /**
32 * This is the ID from the first release for future compatibility.
33 */
34 private static final long serialVersionUID = 3905520523197823026L;
35
36 /**
37 * Constructs a new class cast alert with no explanation.
38 */
39 public ClassCastAlert() {
40 this( null );
41 }
42
43 /**
44 * Constructs a new class cast alert with the specified explanation.
45 *
46 * @param exp the explanation for the alert
47 */
48 public ClassCastAlert( final String exp ) {
49 this( "Object cannot be cast to specified type", 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 ClassCastAlert( final String comp, final String exp ) {
61 super( comp, exp );
62 }
63
64 public ClassCastAlert culpritObject( final Object object ) {
65 return (ClassCastAlert) this.culprit( "object", object );
66 }
67
68 public ClassCastAlert culpritCastType( final Class c ) {
69 return (ClassCastAlert) this.culprit( "cast class", c );
70 }
71
72 }