KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > objectweb > perseus > persistence > api > ConnectionHolder


1 /**
2  * Copyright (C) 2001-2003 France Telecom R&D
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  */

18 package org.objectweb.perseus.persistence.api;
19
20 /**
21  * The aim of a ConnectionHolder is to provide a way to find a connection to
22  * the data support. For example a previous used connection can be encapsulted
23  * in a ConnectionHolder in order to reuse it.
24  *
25  * @author S.Chassande-Barrioz
26  */

27 public interface ConnectionHolder {
28
29     /**
30      * Retrieves a connection to access data on the support for a read action.
31      * @throws PersistenceException if it is not possible to find a connection
32      */

33     Object JavaDoc getCHConnectionForRead() throws PersistenceException;
34
35     /**
36      * Retrieves a connection to access data on the support for a write action.
37      * @throws PersistenceException if it is not possible to find a connection
38      */

39     Object JavaDoc getCHConnectionForWrite() throws PersistenceException;
40
41     /**
42      * Demarcates the begin of the transaction.
43      * @throws PersistenceException if it is not possible to begin a transaction
44      */

45     void begin() throws PersistenceException;
46
47     /**
48      * Committes the transaction
49      * @throws PersistenceException
50      */

51     void commitCH() throws PersistenceException;
52
53     void rollbackCH() throws PersistenceException;
54
55     void releaseCHConnection() throws PersistenceException;
56
57     void closeCHConnection() throws PersistenceException;
58
59     void bindWorkingSet(WorkingSet ws);
60
61     WorkingSet getWorkingSet();
62 }
63
Popular Tags