View Javadoc

1   package org.apache.ojb.otm.transaction;
2   
3   /* Copyright 2003-2005 The Apache Software Foundation
4    *
5    * Licensed under the Apache License, Version 2.0 (the "License");
6    * you may not use this file except in compliance with the License.
7    * You may obtain a copy of the License at
8    *
9    *     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.apache.ojb.broker.PBKey;
19  import org.apache.ojb.otm.OTMConnection;
20  import org.apache.ojb.otm.core.Transaction;
21  
22  
23  /**
24   *
25   * Factory to fetch current transaction. The various implementations will handle
26   * the different implementation sceanrios, like managed and unmanaged platforms. 
27   * 
28   * @author <a href="mailto:rraghuram@hotmail.com">Raghu Rajah</a>
29   * 
30   */
31  public interface TransactionFactory
32  {
33      
34      /**
35       * 
36       *  Get the current Transaction.
37       * 
38       *  @return     the current Transaction
39       * 
40       */
41      public Transaction getTransactionForConnection (OTMConnection connection);
42      
43      /**
44       * 
45       *  Acquire new connection. Creates a new connection. Depending on the implementation of the
46       *  factory the connection could be associated to an existing transaction, or not.
47       * 
48       *  @return     new connection
49       * 
50       */
51      public OTMConnection acquireConnection (PBKey pbKey);
52  }