KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > jaspersoft > jasperserver > api > JSExceptionWrapper


1 /*
2  * Copyright (C) 2006 JasperSoft http://www.jaspersoft.com
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed WITHOUT ANY WARRANTY; and without the
10  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
15  * or write to:
16  *
17  * Free Software Foundation, Inc.,
18  * 59 Temple Place - Suite 330,
19  * Boston, MA USA 02111-1307
20  */

21 package com.jaspersoft.jasperserver.api;
22
23 import java.io.PrintWriter JavaDoc;
24 import java.io.StringWriter JavaDoc;
25
26 /**
27  * @author Lucian Chirita (lucianc@users.sourceforge.net)
28  * @version $Id: JSExceptionWrapper.java 2995 2006-04-07 14:05:32Z tdanciu $
29  */

30 public class JSExceptionWrapper extends JSException {
31
32     private final String JavaDoc stackTrace;
33
34     private final Exception JavaDoc originalException;
35
36     public JSExceptionWrapper(Exception JavaDoc e) {
37         super(e.toString());
38         
39         originalException = e;
40         stackTrace = readStackTrace(e);
41     }
42
43     private String JavaDoc readStackTrace(Exception JavaDoc e) {
44         StringWriter JavaDoc sw = new StringWriter JavaDoc();
45         e.printStackTrace(new PrintWriter JavaDoc(sw));
46         return sw.toString();
47     }
48
49     public void printStackTrace() {
50         printStackTrace(System.err);
51     }
52
53     public void printStackTrace(java.io.PrintStream JavaDoc s) {
54         synchronized (s) {
55             s.print(getClass().getName() + ": ");
56             s.print(stackTrace);
57         }
58     }
59
60     public void printStackTrace(java.io.PrintWriter JavaDoc s) {
61         synchronized (s) {
62             s.print(getClass().getName() + ": ");
63             s.print(stackTrace);
64         }
65     }
66
67     public void rethrow() throws Exception JavaDoc {
68         throw originalException;
69     }
70 }
71
Popular Tags