View Javadoc

1   /**
2    *
3    * Copyright 2003-2004 The Apache Software Foundation
4    *
5    *  Licensed under the Apache License, Version 2.0 (the "License");
6    *  you may not use this file except in compliance with the License.
7    *  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  
18  //
19  // This source code implements specifications defined by the Java
20  // Community Process. In order to remain compliant with the specification
21  // DO NOT add / change / or delete method signatures!
22  //
23  package javax.xml.registry;
24  
25  /**
26   * Signals that a JAXR exception has occurred.
27   * Note that the Exception chaining here is different from JDK1.4
28   *
29   * @version $Revision$ $Date$
30   */
31  public class JAXRException extends Exception implements JAXRResponse {
32      protected Throwable cause;
33  
34      public JAXRException() {
35      }
36  
37      public JAXRException(String message) {
38          super(message);
39      }
40  
41      public JAXRException(Throwable cause) {
42          super(cause);
43          this.cause = cause;
44      }
45  
46      public JAXRException(String message, Throwable cause) {
47          super(message, cause);
48          this.cause = cause;
49      }
50  
51      public synchronized Throwable initCause(Throwable cause) {
52  
53          if (this.cause != null) {
54              throw new IllegalStateException("Cannot overwrite cause.");
55          }
56  
57          this.cause = cause;
58          return this;
59      }
60  
61      public String getMessage() {
62          String message = super.getMessage();
63          return (message == null && cause != null) ? cause.getMessage() : message;
64      }
65  
66      public Throwable getCause() {
67          return cause;
68      }
69  
70      public String getRequestId() {
71          return null;
72      }
73  
74      public int getStatus() {
75          return 0;
76      }
77  
78      public boolean isAvailable() throws JAXRException {
79          return true;
80      }
81  }