01: package org.apache.ojb.odmg;
02:
03: /* Copyright 2003-2005 The Apache Software Foundation
04: *
05: * Licensed under the Apache License, Version 2.0 (the "License");
06: * you may not use this file except in compliance with the License.
07: * You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: import org.odmg.TransactionAbortedException;
19:
20: /**
21: * This specialised exception allows us to capture the cause of an
22: * ODMG TransactionAbortedException. This, in turn,
23: * gives the "catcher" of the exception the ability to take different
24: * courses of action dependent upon why the transaction was aborted. <p>
25: * This exception has been created as a subclass of
26: * org.odmg.TransactionAbortedException so that we don't
27: * <ul>
28: * <li>Modify the ODMG exception - as it is defined by the ODMG spec
29: * <li>Break the spec by throwing a non ODMG exception
30: * </ul>
31: *
32: * @author Charles Anthony
33: */
34: public class TransactionAbortedExceptionOJB extends
35: TransactionAbortedException {
36: /**
37: * The cause of a TransactionAbortedException
38: */
39: private Throwable cause;
40:
41: public TransactionAbortedExceptionOJB() {
42: super ();
43: }
44:
45: public TransactionAbortedExceptionOJB(String msg) {
46: super (msg);
47: }
48:
49: public TransactionAbortedExceptionOJB(String msg, Throwable th) {
50: super (msg);
51: this .cause = th;
52: }
53:
54: public TransactionAbortedExceptionOJB(Throwable cause) {
55: this .cause = cause;
56: }
57:
58: /**
59: * Returns the cause of the exception. May be null.
60: */
61: public Throwable getCause() {
62: return cause;
63: }
64: }
|