KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > cayenne > access > TransactionDelegate


1 /*****************************************************************
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the
7  * "License"); you may not use this file except in compliance
8  * with the License. You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing,
13  * software distributed under the License is distributed on an
14  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15  * KIND, either express or implied. See the License for the
16  * specific language governing permissions and limitations
17  * under the License.
18  ****************************************************************/

19
20 package org.apache.cayenne.access;
21
22 import java.sql.Connection JavaDoc;
23
24 /**
25  * Defines callback methods for tracking and customizing Transactions execution.
26  *
27  * @author Andrus Adamchik
28  * @since 1.1
29  */

30 public interface TransactionDelegate {
31
32     /**
33      * Called within a context of a Transaction before the transaction is committed.
34      * Delegate can do its own processing, and optionally suppress further commit
35      * processing by Cayenne by returning <code>false</code>.
36      */

37     public boolean willCommit(Transaction transaction);
38
39     /**
40      * Called within a context of a Transaction before transaction is marked as "rollback
41      * only", meaning that further commit is not possible. Delegate can do its own
42      * processing, and optionally suppress setting transaction status by returning
43      * <code>false</code>.
44      */

45     public boolean willMarkAsRollbackOnly(Transaction transaction);
46
47     /**
48      * Called within a context of a Transaction before the transaction is rolledback.
49      * Delegate can do its own processing, and optionally suppress further rollback
50      * processing by Cayenne by returning <code>false</code>.
51      */

52     public boolean willRollback(Transaction transaction);
53
54     /**
55      * Called after a Transaction commit.
56      */

57     public void didCommit(Transaction transaction);
58
59     /**
60      * Called after a Transaction is rolledback.
61      */

62     public void didRollback(Transaction transaction);
63
64     /**
65      * Called within a context of a Transaction when a new JDBC onnection is added to the
66      * the transaction. Delegate can do its own processing, and optionally suppress
67      * connection registration with the transaction by returning <code>false</code>.
68      */

69     public boolean willAddConnection(Transaction transaction, Connection JavaDoc connection);
70 }
71
Popular Tags