00001 00030 package org.objectweb.jonas_lib.deployment.api; 00031 00032 import java.io.PrintStream; 00033 import java.io.PrintWriter; 00034 00042 public class DeploymentDescException extends Exception { 00043 00047 private Throwable cause; 00048 00052 public DeploymentDescException() { 00053 super(); 00054 cause = null; 00055 } 00056 00057 00063 public DeploymentDescException(String msg) { 00064 super(msg); 00065 cause = null; 00066 } 00067 00075 public DeploymentDescException(String msg, 00076 Throwable cause) { 00077 super(msg); 00078 this.cause = cause; 00079 } 00080 00088 public DeploymentDescException(Throwable cause) { 00089 super(cause.getMessage()); 00090 this.cause = cause; 00091 } 00092 00097 public String getMessage() { 00098 String msg = super.getMessage(); 00099 if (cause == null) { 00100 return msg; 00101 } else { 00102 return msg + ": " + cause.getMessage(); 00103 } 00104 } 00105 00110 public Throwable getCause() { 00111 return cause; 00112 } 00113 00118 public void printStackTrace() { 00119 super.printStackTrace(); 00120 if (cause != null) { 00121 System.err.println(); 00122 System.err.println("*** Caused by:"); 00123 cause.printStackTrace(); 00124 } 00125 } 00126 00132 public void printStackTrace(PrintStream s) { 00133 super.printStackTrace(s); 00134 if (cause != null) { 00135 s.println(); 00136 s.println ("*** Caused by:"); 00137 cause.printStackTrace(s); 00138 } 00139 } 00140 00146 public void printStackTrace(PrintWriter s) { 00147 super.printStackTrace(s); 00148 if (cause != null) { 00149 s.println(); 00150 s.println("*** Caused by:"); 00151 cause.printStackTrace(s); 00152 } 00153 } 00154 }