View Javadoc

1   /**
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *     http://www.apache.org/licenses/LICENSE-2.0
10   *
11   *  Unless required by applicable law or agreed to in writing, software
12   *  distributed under the License is distributed on an "AS IS" BASIS,
13   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   *  See the License for the specific language governing permissions and
15   *  limitations under the License.
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  }