1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 package nl.openedge.baritus.converters;
32
33 /***
34 * Modified ConversionException that saves the desired pattern as an extra field
35 * @author Eelco Hillenius
36 */
37 public final class ConversionException extends RuntimeException
38 {
39
40 private String desiredPattern;
41
42 /***
43 * Construct exception with message.
44 * @param message message
45 */
46 public ConversionException(String message)
47 {
48 super(message);
49 }
50
51 /***
52 * Construct exception with message and desired pattern.
53 * @param message message
54 * @param desiredPattern the desired pattern
55 */
56 public ConversionException(String message, String desiredPattern)
57 {
58 super(message);
59 setDesiredPattern(desiredPattern);
60 }
61
62 /***
63 * Construct exception with message and cause.
64 * @param message message
65 * @param cause cause
66 */
67 public ConversionException(String message, Throwable cause)
68 {
69 super(message, cause);
70 }
71
72 /***
73 * Construct exception with message, cause and desired pattern.
74 * @param message message
75 * @param cause cause
76 * @param desiredPattern the desired pattern
77 */
78 public ConversionException(String message, Throwable cause, String desiredPattern)
79 {
80 super(message, cause);
81 setDesiredPattern(desiredPattern);
82 }
83
84 /***
85 * Construct exception with cause.
86 * @param cause cause
87 */
88 public ConversionException(Throwable cause)
89 {
90 super(cause);
91 }
92
93 /***
94 * Construct exception with cause and desired pattern.
95 * @param cause cause
96 * @param desiredPattern the desired pattern
97 */
98 public ConversionException(Throwable cause, String desiredPattern)
99 {
100 super(cause);
101 setDesiredPattern(desiredPattern);
102 }
103
104 /***
105 * Get the desired pattern.
106 * @return String optionally the desired pattern
107 */
108 public String getDesiredPattern()
109 {
110 return desiredPattern;
111 }
112
113 /***
114 * Set the desired pattern.
115 * @param string the desired pattern
116 */
117 public void setDesiredPattern(String string)
118 {
119 desiredPattern = string;
120 }
121
122 /***
123 * String representation of the exception.
124 * @return String string representation
125 */
126 public String toString()
127 {
128 String s = getClass().getName();
129 String message = getLocalizedMessage();
130 message = (message != null) ? (s + ": " + message) : s;
131
132 if(getDesiredPattern() != null)
133 {
134 message += "; pattern should be: " + getDesiredPattern();
135 }
136
137 return message;
138 }
139
140 }