1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
/* * Copyright 2003 Sun Microsystems, Inc. All rights reserved. * SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms. */ package javax.xml.bind; import java.io.PrintWriter; /** * This is the root exception class for all JAXB exceptions. * * @author <ul><li>Ryan Shoemaker, Sun Microsystems, Inc.</li></ul> * @version $Revision: 1.3 $ $Date: 2004/10/22 15:46:02 $ * @see JAXBContext * @see Marshaller * @see Unmarshaller * @since JAXB1.0 */ public class JAXBException extends Exception { /** * Vendor specific error code * */ private String errorCode; /** * Exception reference * */ private Throwable linkedException; static final long serialVersionUID = -5621384651494307979L; /** * Construct a JAXBException with the specified detail message. The * errorCode and linkedException will default to null. * * @param message a description of the exception */ public JAXBException(String message) { this( message, null, null ); } /** * Construct a JAXBException with the specified detail message and vendor * specific errorCode. The linkedException will default to null. * * @param message a description of the exception * @param errorCode a string specifying the vendor specific error code */ public JAXBException(String message, String errorCode) { this( message, errorCode, null ); } /** * Construct a JAXBException with a linkedException. The detail message and * vendor specific errorCode will default to null. * * @param exception the linked exception */ public JAXBException(Throwable exception) { this( null, null, exception ); } /** * Construct a JAXBException with the specified detail message and * linkedException. The errorCode will default to null. * * @param message a description of the exception * @param exception the linked exception */ public JAXBException(String message, Throwable exception) { this( message, null, exception ); } /** * Construct a JAXBException with the specified detail message, vendor * specific errorCode, and linkedException. * * @param message a description of the exception * @param errorCode a string specifying the vendor specific error code * @param exception the linked exception */ public JAXBException(String message, String errorCode, Throwable exception) { super( message ); this.errorCode = errorCode; this.linkedException = exception; } /** * Get the vendor specific error code * * @return a string specifying the vendor specific error code */ public String getErrorCode() { return this.errorCode; } /** * Get the linked exception * * @return the linked Exception, null if none exists */ public Throwable getLinkedException() { return linkedException; } /** * Add a linked Exception. * * @param exception the linked Exception (A null value is permitted and * indicates that the linked exception does not exist or * is unknown). */ public synchronized void setLinkedException( Throwable exception ) { this.linkedException = exception; } /** * Returns a short description of this JAXBException. * */ public String toString() { return linkedException == null ? super.toString() : super.toString() + "\n - with linked exception:\n[" + linkedException.toString()+ "]"; } /** * Prints this JAXBException and its stack trace (including the stack trace * of the linkedException if it is non-null) to the PrintStream. * * @param s PrintStream to use for output */ public void printStackTrace( java.io.PrintStream s ) { super.printStackTrace(s); } /** * Prints this JAXBException and its stack trace (including the stack trace * of the linkedException if it is non-null) to <tt>System.err</tt>. * */ public void printStackTrace() { super.printStackTrace(); } /** * Prints this JAXBException and its stack trace (including the stack trace * of the linkedException if it is non-null) to the PrintWriter. * * @param s PrintWriter to use for output */ public void printStackTrace(PrintWriter s) { super.printStackTrace(s); } @Override public Throwable getCause() { return linkedException; } }