KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > oracle > toplink > essentials > internal > ejb > cmp3 > base > ExceptionFactory


1 /*
2  * The contents of this file are subject to the terms
3  * of the Common Development and Distribution License
4  * (the "License"). You may not use this file except
5  * in compliance with the License.
6  *
7  * You can obtain a copy of the license at
8  * glassfish/bootstrap/legal/CDDLv1.0.txt or
9  * https://glassfish.dev.java.net/public/CDDLv1.0.html.
10  * See the License for the specific language governing
11  * permissions and limitations under the License.
12  *
13  * When distributing Covered Code, include this CDDL
14  * HEADER in each file and include the License file at
15  * glassfish/bootstrap/legal/CDDLv1.0.txt. If applicable,
16  * add the following below this CDDL HEADER, with the
17  * fields enclosed by brackets "[]" replaced with your
18  * own identifying information: Portions Copyright [yyyy]
19  * [name of copyright owner]
20  */

21 // Copyright (c) 1998, 2005, Oracle. All rights reserved.
22
package oracle.toplink.essentials.internal.ejb.cmp3.base;
23
24 import java.io.StringWriter JavaDoc;
25 import java.io.PrintWriter JavaDoc;
26 import java.sql.SQLException JavaDoc;
27 import javax.transaction.SystemException JavaDoc;
28 import javax.transaction.RollbackException JavaDoc;
29
30 public class ExceptionFactory {
31     public ExceptionFactory() {
32     }
33
34     protected String JavaDoc stackTraceString(Exception JavaDoc ex) {
35         StringWriter JavaDoc swriter = new StringWriter JavaDoc();
36         PrintWriter JavaDoc writer = new PrintWriter JavaDoc(swriter, true);
37         ex.printStackTrace(writer);
38         writer.close();
39         return swriter.toString();
40     }
41
42     public SystemException JavaDoc newSystemException(String JavaDoc str) {
43         return new SystemException JavaDoc(str);
44     }
45
46     public SystemException JavaDoc newSystemException(Exception JavaDoc ex) {
47         return new SystemException JavaDoc("Real nested exception: " + stackTraceString(ex));
48     }
49
50     public RollbackException JavaDoc rollbackException(SQLException JavaDoc sqlEx) {
51         return new RollbackException JavaDoc(sqlEx.toString());
52     }
53
54     public SystemException JavaDoc txMarkedForRollbackException() {
55         return newSystemException("Transaction marked for rollback");
56     }
57
58     public SystemException JavaDoc txActiveException() {
59         return newSystemException("Transaction is already active");
60     }
61
62     public SystemException JavaDoc txNotActiveException() {
63         return newSystemException("No transaction is active");
64     }
65
66     public SystemException JavaDoc invalidStateException(int state) {
67         return newSystemException("Cannot complete operation, invalid state: " + state);
68     }
69 }
70
Popular Tags