src/share/jaxws_classes/javax/xml/bind/JAXBException.java

Fri, 04 Oct 2013 16:21:34 +0100

author
mkos
date
Fri, 04 Oct 2013 16:21:34 +0100
changeset 408
b0610cd08440
parent 397
b99d7e355d4b
child 637
9c07ef4934dd
permissions
-rw-r--r--

8025054: Update JAX-WS RI integration to 2.2.9-b130926.1035
Reviewed-by: chegar

     1 /*
     2  * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.  Oracle designates this
     8  * particular file as subject to the "Classpath" exception as provided
     9  * by Oracle in the LICENSE file that accompanied this code.
    10  *
    11  * This code is distributed in the hope that it will be useful, but WITHOUT
    12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    14  * version 2 for more details (a copy is included in the LICENSE file that
    15  * accompanied this code).
    16  *
    17  * You should have received a copy of the GNU General Public License version
    18  * 2 along with this work; if not, write to the Free Software Foundation,
    19  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    20  *
    21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
    22  * or visit www.oracle.com if you need additional information or have any
    23  * questions.
    24  */
    26 package javax.xml.bind;
    28 import java.io.PrintWriter;
    30 /**
    31  * This is the root exception class for all JAXB exceptions.
    32  *
    33  * @author <ul><li>Ryan Shoemaker, Sun Microsystems, Inc.</li></ul>
    34  * @see JAXBContext
    35  * @see Marshaller
    36  * @see Unmarshaller
    37  * @since JAXB1.0
    38  */
    39 public class JAXBException extends Exception {
    41     /**
    42      * Vendor specific error code
    43      *
    44      */
    45     private String errorCode;
    47     /**
    48      * Exception reference
    49      *
    50      */
    51     private volatile Throwable linkedException;
    53     static final long serialVersionUID = -5621384651494307979L;
    55     /**
    56      * Construct a JAXBException with the specified detail message.  The
    57      * errorCode and linkedException will default to null.
    58      *
    59      * @param message a description of the exception
    60      */
    61     public JAXBException(String message) {
    62         this( message, null, null );
    63     }
    65     /**
    66      * Construct a JAXBException with the specified detail message and vendor
    67      * specific errorCode.  The linkedException will default to null.
    68      *
    69      * @param message a description of the exception
    70      * @param errorCode a string specifying the vendor specific error code
    71      */
    72     public JAXBException(String message, String errorCode) {
    73         this( message, errorCode, null );
    74     }
    76     /**
    77      * Construct a JAXBException with a linkedException.  The detail message and
    78      * vendor specific errorCode will default to null.
    79      *
    80      * @param exception the linked exception
    81      */
    82     public JAXBException(Throwable exception) {
    83         this( null, null, exception );
    84     }
    86     /**
    87      * Construct a JAXBException with the specified detail message and
    88      * linkedException.  The errorCode will default to null.
    89      *
    90      * @param message a description of the exception
    91      * @param exception the linked exception
    92      */
    93     public JAXBException(String message, Throwable exception) {
    94         this( message, null, exception );
    95     }
    97     /**
    98      * Construct a JAXBException with the specified detail message, vendor
    99      * specific errorCode, and linkedException.
   100      *
   101      * @param message a description of the exception
   102      * @param errorCode a string specifying the vendor specific error code
   103      * @param exception the linked exception
   104      */
   105     public JAXBException(String message, String errorCode, Throwable exception) {
   106         super( message );
   107         this.errorCode = errorCode;
   108         this.linkedException = exception;
   109     }
   111     /**
   112      * Get the vendor specific error code
   113      *
   114      * @return a string specifying the vendor specific error code
   115      */
   116     public String getErrorCode() {
   117         return this.errorCode;
   118     }
   120     /**
   121      * Get the linked exception
   122      *
   123      * @return the linked Exception, null if none exists
   124      */
   125     public Throwable getLinkedException() {
   126         return linkedException;
   127     }
   129     /**
   130      * Add a linked Exception.
   131      *
   132      * @param exception the linked Exception (A null value is permitted and
   133      *                  indicates that the linked exception does not exist or
   134      *                  is unknown).
   135      */
   136     public void setLinkedException( Throwable exception ) {
   137         this.linkedException = exception;
   138     }
   140     /**
   141      * Returns a short description of this JAXBException.
   142      *
   143      */
   144     public String toString() {
   145         return linkedException == null ?
   146             super.toString() :
   147             super.toString() + "\n - with linked exception:\n[" +
   148                                 linkedException.toString()+ "]";
   149     }
   151     /**
   152      * Prints this JAXBException and its stack trace (including the stack trace
   153      * of the linkedException if it is non-null) to the PrintStream.
   154      *
   155      * @param s PrintStream to use for output
   156      */
   157     public void printStackTrace( java.io.PrintStream s ) {
   158         super.printStackTrace(s);
   159     }
   161     /**
   162      * Prints this JAXBException and its stack trace (including the stack trace
   163      * of the linkedException if it is non-null) to <tt>System.err</tt>.
   164      *
   165      */
   166     public void printStackTrace() {
   167         super.printStackTrace();
   168     }
   170     /**
   171      * Prints this JAXBException and its stack trace (including the stack trace
   172      * of the linkedException if it is non-null) to the PrintWriter.
   173      *
   174      * @param s PrintWriter to use for output
   175      */
   176     public void printStackTrace(PrintWriter s) {
   177         super.printStackTrace(s);
   178     }
   180     @Override
   181     public Throwable getCause() {
   182         return linkedException;
   183     }
   184 }

mercurial