1 /**
2 The contents of this file are subject to the Mozilla Public License Version 1.1
3 (the "License"); you may not use this file except in compliance with the License.
4 You may obtain a copy of the License at http://www.mozilla.org/MPL/
5 Software distributed under the License is distributed on an "AS IS" basis,
6 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the
7 specific language governing rights and limitations under the License.
8
9 The Original Code is "HL7Exception.java". Description:
10 "Represents an exception encountered while processing
11 an HL7 message"
12
13 The Initial Developer of the Original Code is University Health Network. Copyright (C)
14 2001. All Rights Reserved.
15
16 Contributor(s): ______________________________________.
17
18 Alternatively, the contents of this file may be used under the terms of the
19 GNU General Public License (the "GPL"), in which case the provisions of the GPL are
20 applicable instead of those above. If you wish to allow use of your version of this
21 file only under the terms of the GPL and not to allow others to use your version
22 of this file under the MPL, indicate your decision by deleting the provisions above
23 and replace them with the notice and other provisions required by the GPL License.
24 If you do not delete the provisions above, a recipient may use your version of
25 this file under either the MPL or the GPL.
26
27 */
28
29 package ca.uhn.hl7v2;
30
31
32 /**
33 * Represents an exception encountered while processing an HL7 message.
34 *
35 * @author Bryan Tripp (bryan_tripp@sourceforge.net)
36 */
37 @SuppressWarnings("serial")
38 public class HL7Exception extends AbstractHL7Exception {
39
40 /** Original mode: Application Accept - Enhanced mode: Application acknowledgment: Accept
41 *
42 * @deprecated use {@link AcknowledgmentCode}
43 */
44 public static final int ACK_AA = 1;
45
46 /** Original mode: Application Error - Enhanced mode: Application acknowledgment: Error
47 *
48 * @deprecated use {@link AcknowledgmentCode}
49 */
50 public static final int ACK_AE = 2;
51
52 /** Original mode: Application Reject - Enhanced mode: Application acknowledgment: Reject
53 *
54 * @deprecated use {@link AcknowledgmentCode}
55 */
56 public static final int ACK_AR = 3;
57
58 /** Enhanced mode: Accept acknowledgment: Commit Accept
59 *
60 * @deprecated use {@link AcknowledgmentCode}
61 */
62 public static final int ACK_CA = 4;
63
64 /** Enhanced mode: Accept acknowledgment: Commit Error
65 *
66 * @deprecated use {@link AcknowledgmentCode}
67 */
68 public static final int ACK_CE = 5;
69
70 /** Enhanced mode: Accept acknowledgment: Commit Reject
71 *
72 * @deprecated use {@link AcknowledgmentCode}
73 */
74 public static final int ACK_CR = 6;
75
76 /**
77 * @deprecated use {@link ErrorCode}
78 */
79 public static final int MESSAGE_ACCEPTED = 0;
80 /**
81 * @deprecated use {@link ErrorCode}
82 */
83 public static final int SEGMENT_SEQUENCE_ERROR = 100;
84 /**
85 * @deprecated use {@link ErrorCode}
86 */
87 public static final int REQUIRED_FIELD_MISSING = 101;
88 /**
89 * @deprecated use {@link ErrorCode}
90 */
91 public static final int DATA_TYPE_ERROR = 102;
92 /**
93 * @deprecated use {@link ErrorCode}
94 */
95 public static final int TABLE_VALUE_NOT_FOUND = 103;
96 /**
97 * @deprecated use {@link ErrorCode}
98 */
99 public static final int UNSUPPORTED_MESSAGE_TYPE = 200;
100 /**
101 * @deprecated use {@link ErrorCode}
102 */
103 public static final int UNSUPPORTED_EVENT_CODE = 201;
104 /**
105 * @deprecated use {@link ErrorCode}
106 */
107 public static final int UNSUPPORTED_PROCESSING_ID = 202;
108 /**
109 * @deprecated use {@link ErrorCode}
110 */
111 public static final int UNSUPPORTED_VERSION_ID = 203;
112 /**
113 * @deprecated use {@link ErrorCode}
114 */
115 public static final int UNKNOWN_KEY_IDENTIFIER = 204;
116 /**
117 * @deprecated use {@link ErrorCode}
118 */
119 public static final int DUPLICATE_KEY_IDENTIFIER = 205;
120 /**
121 * @deprecated use {@link ErrorCode}
122 */
123 public static final int APPLICATION_RECORD_LOCKED = 206;
124 /**
125 * @deprecated use {@link ErrorCode}
126 */
127 public static final int APPLICATION_INTERNAL_ERROR = 207;
128
129 private Object detail;
130
131
132 /**
133 * Creates an HL7Exception.
134 *
135 * @param errorCondition a code describing the the error condition, from HL7 table 0357 (see
136 * section 2.16.8 of standard v 2.4) - ErrorCode defines these codes
137 * that can be used here (e.g. ErrorCode.UNSUPPORTED_MESSAGE_TYPE.getCode())
138 *
139 * @param cause The exception that caused this exception to be thrown.
140 * @deprecated use HL7Exception(String, ErrorCode, Throwable)
141 */
142 public HL7Exception(String message, int errorCondition, Throwable cause) {
143 super(message, cause);
144 setErrorCode(errorCondition);
145 }
146
147 /**
148 * Creates an HL7Exception.
149 * @param message error message
150 * @param error a code describing the the error condition, from HL7 table 0357 (see
151 * section 2.16.8 of standard v 2.4)
152 *
153 * @param cause The exception that caused this exception to be thrown.
154 */
155 public HL7Exception(String message, ErrorCode error, Throwable cause) {
156 super(message, cause);
157 setError(error);
158 }
159
160 /**
161 * Creates an HL7Exception.
162 *
163 * @param errorCondition a code describing the the error condition, from HL7 table 0357 (see
164 * section 2.16.8 of standard v 2.4) - ErrorCode defines these codes
165 * that can be used here (e.g. ErrorCode.UNSUPPORTED_MESSAGE_TYPE.getCode())
166 * @deprecated use HL7Exception(String, ErrorCode)
167 */
168 public HL7Exception(String message, int errorCondition) {
169 super(message);
170 setErrorCode(errorCondition);
171 }
172
173 /**
174 * Creates an HL7Exception.
175 *
176 * @param message error message
177 * @param error a code describing the the error condition, from HL7 table 0357 (see
178 * section 2.16.8 of standard v 2.4).
179 */
180 public HL7Exception(String message, ErrorCode error) {
181 super(message);
182 setError(error);
183 }
184
185 /**
186 * Creates an HL7Exception with the code APPLICATION_INTERNAL_ERROR
187 *
188 * @param message error message
189 * @param cause The excption that caused this exception tobe thrown.
190 */
191 public HL7Exception(String message, Throwable cause) {
192 super(message, cause);
193 }
194
195 /**
196 * Creates an HL7Exception with the code APPLICATION_INTERNAL_ERROR
197 *
198 * @param cause The excption that caused this exception tobe thrown.
199 */
200 public HL7Exception(Throwable cause) {
201 super(cause);
202 }
203
204 /**
205 * Creates an HL7Exception with the code APPLICATION_INTERNAL_ERROR
206 *
207 * @param message error message
208 */
209 public HL7Exception(String message) {
210 super(message);
211 }
212
213 public Object getDetail() {
214 return detail;
215 }
216
217 /**
218 * @param detail context details for this exception instance
219 */
220 public void setDetail(Object detail) {
221 this.detail = detail;
222 }
223
224
225
226 }