1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package javax.xml.bind;
18
19 import java.io.IOException;
20 import java.io.PrintStream;
21 import java.io.PrintWriter;
22
23 public class JAXBException extends Exception {
24
25 private static final long serialVersionUID = 0x5dd94775L;
26
27 private String errorCode;
28 private Throwable linkedException;
29
30 public JAXBException(String message) {
31 this(message, null, null);
32 }
33
34 public JAXBException(String message, String errorCode) {
35 this(message, errorCode, null);
36 }
37
38 public JAXBException(String message, String errorCode, Throwable cause) {
39 super(message);
40 this.errorCode = errorCode;
41 this.linkedException = cause;
42 }
43
44 public JAXBException(String message, Throwable cause) {
45 this(message, null, cause);
46 }
47
48 public JAXBException(Throwable cause) {
49 this(null, null, cause);
50 }
51
52 public String getErrorCode() {
53 return errorCode;
54 }
55
56 public Throwable getLinkedException() {
57 return getCause();
58 }
59
60 public synchronized void setLinkedException(Throwable linkedException) {
61 this.linkedException = linkedException;
62 }
63
64 public String toString() {
65 return linkedException != null ?
66 super.toString() + "\n - with linked exception:\n[" + linkedException.toString() + "]" :
67 super.toString();
68 }
69
70 @Override
71 public Throwable getCause() {
72 return linkedException;
73 }
74
75 }