KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > sf > hajdbc > Database


1 /*
2  * HA-JDBC: High-Availability JDBC
3  * Copyright (c) 2004-2006 Paul Ferraro
4  *
5  * This library is free software; you can redistribute it and/or modify it
6  * under the terms of the GNU Lesser General Public License as published by the
7  * Free Software Foundation; either version 2.1 of the License, or (at your
8  * option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License
13  * for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with this library; if not, write to the Free Software Foundation,
17  * Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Contact: ferraro@users.sourceforge.net
20  */

21 package net.sf.hajdbc;
22
23 import java.sql.Connection JavaDoc;
24 import java.sql.SQLException JavaDoc;
25
26 /**
27  * @author Paul Ferraro
28  * @version $Revision: 976 $
29  * @param <T>
30  * @since 1.0
31  */

32 public interface Database<T> extends InactiveDatabaseMBean, Comparable JavaDoc<Database>
33 {
34     /**
35      * Connects to the database using the specified connection factory.
36      * @param connectionFactory a factory object for creating connections
37      * @return a database connection
38      * @throws SQLException if connection fails
39      */

40     public Connection JavaDoc connect(T connectionFactory) throws SQLException;
41     
42     /**
43      * Factory method for creating a connection factory object for this database.
44      * @return a connection factory object
45      * @throws IllegalArgumentException if connection factory could not be created
46      */

47     public T createConnectionFactory();
48     
49     /**
50      * @return the class implemented by connection factory objects for this database.
51      */

52     public Class JavaDoc<T> getConnectionFactoryClass();
53     
54     public Class JavaDoc<? extends ActiveDatabaseMBean> getActiveMBeanClass();
55     
56     public Class JavaDoc<? extends InactiveDatabaseMBean> getInactiveMBeanClass();
57     
58     public boolean isDirty();
59     
60     public void clean();
61 }
62
Popular Tags