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
/* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. */ /* * $Id: XMLSignatureException.java,v 1.5 2005/05/10 16:03:48 mullan Exp $ */ package javax.xml.crypto.dsig; import java.io.PrintStream; import java.io.PrintWriter; /** * Indicates an exceptional condition that occured during the XML * signature generation or validation process. * * <p>An <code>XMLSignatureException</code> can contain a cause: another * throwable that caused this <code>XMLSignatureException</code> to get thrown. * * @since 1.6 */ public class XMLSignatureException extends Exception { private static final long serialVersionUID = -3438102491013869995L; /** * The throwable that caused this exception to get thrown, or null if this * exception was not caused by another throwable or if the causative * throwable is unknown. * * @serial */ private Throwable cause; /** * Constructs a new <code>XMLSignatureException</code> with * <code>null</code> as its detail message. */ public XMLSignatureException() { super(); } /** * Constructs a new <code>XMLSignatureException</code> with the specified * detail message. * * @param message the detail message */ public XMLSignatureException(String message) { super(message); } /** * Constructs a new <code>XMLSignatureException</code> with the * specified detail message and cause. * <p>Note that the detail message associated with * <code>cause</code> is <i>not</i> automatically incorporated in * this exception's detail message. * * @param message the detail message * @param cause the cause (A <tt>null</tt> value is permitted, and * indicates that the cause is nonexistent or unknown.) */ public XMLSignatureException(String message, Throwable cause) { super(message); this.cause = cause; } /** * Constructs a new <code>XMLSignatureException</code> with the specified * cause and a detail message of * <code>(cause==null ? null : cause.toString())</code> * (which typically contains the class and detail message of * <code>cause</code>). * * @param cause the cause (A <tt>null</tt> value is permitted, and * indicates that the cause is nonexistent or unknown.) */ public XMLSignatureException(Throwable cause) { super(cause==null ? null : cause.toString()); this.cause = cause; } /** * Returns the cause of this <code>XMLSignatureException</code> or * <code>null</code> if the cause is nonexistent or unknown. (The * cause is the throwable that caused this * <code>XMLSignatureException</code> to get thrown.) * * @return the cause of this <code>XMLSignatureException</code> or * <code>null</code> if the cause is nonexistent or unknown. */ public Throwable getCause() { return cause; } /** * Prints this <code>XMLSignatureException</code>, its backtrace and * the cause's backtrace to the standard error stream. */ public void printStackTrace() { super.printStackTrace(); if (cause != null) { cause.printStackTrace(); } } /** * Prints this <code>XMLSignatureException</code>, its backtrace and * the cause's backtrace to the specified print stream. * * @param s <code>PrintStream</code> to use for output */ public void printStackTrace(PrintStream s) { super.printStackTrace(s); if (cause != null) { cause.printStackTrace(s); } } /** * Prints this <code>XMLSignatureException</code>, its backtrace and * the cause's backtrace to the specified print writer. * * @param s <code>PrintWriter</code> to use for output */ public void printStackTrace(PrintWriter s) { super.printStackTrace(s); if (cause != null) { cause.printStackTrace(s); } } }