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
/* * Copyright 2006 Sun Microsystems, Inc. All rights reserved. */ /* * $Id: TransformException.java,v 1.3 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 while executing a * transform algorithm. * * <p>A <code>TransformException</code> can contain a cause: another * throwable that caused this <code>TransformException</code> to get thrown. * * @see Transform#transform * @author Sean Mullan * @author JSR 105 Expert Group * @since 1.6 */ public class TransformException extends Exception { private static final long serialVersionUID = 5082634801360427800L; /** * 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>TransformException</code> with * <code>null</code> as its detail message. */ public TransformException() { super(); } /** * Constructs a new <code>TransformException</code> with the specified * detail message. * * @param message the detail message */ public TransformException(String message) { super(message); } /** * Constructs a new <code>TransformException</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 TransformException(String message, Throwable cause) { super(message); this.cause = cause; } /** * Constructs a new <code>TransformException</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 TransformException(Throwable cause) { super(cause==null ? null : cause.toString()); this.cause = cause; } /** * Returns the cause of this <code>TransformException</code> or * <code>null</code> if the cause is nonexistent or unknown. (The * cause is the throwable that caused this * <code>TransformException</code> to get thrown.) * * @return the cause of this <code>TransformException</code> or * <code>null</code> if the cause is nonexistent or unknown. */ public Throwable getCause() { return cause; } /** * Prints this <code>TransformException</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>TransformException</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>TransformException</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); } } }