/* * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at . * * Software distributed under the License is distributed on an "AS IS" basis, WITHOUT * WARRANTY OF ANY KIND, either express or implied. See the License for the specific * language governing rights and limitations under the License. * * The Original Code is the Venice Web Communities System. * * The Initial Developer of the Original Code is Eric J. Bowersox , * for Silverwrist Design Studios. Portions created by Eric J. Bowersox are * Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved. * * Contributor(s): */ package com.silverwrist.dynamo.iface; import java.sql.Connection; import com.silverwrist.dynamo.except.DatabaseException; /** * An interface to a simple pool of database connections. This interface allows us to obtain connections * from the pool, and return them when we're done using them. * * @author Eric J. Bowersox <erbo@silcom.com> * @version X */ public interface DBConnectionPool extends NamedObject, ServiceProvider { /** * Returns a simple string identifying the database type. This is commonly used in database operations * classes to create classnames that are dynamically loaded. * * @return The database identifier. */ public String getDatabaseType(); /** * Returns the number of connections currently being managed by this connection pool. * * @return The number of connections currently being managed by this connection pool. */ public int numConnections(); /** * Obtains a database connection object from the connection pool. * * @return The Connection object. * @exception com.silverwrist.dynamo.except.DatabaseException If a connection could not be obtained. */ public Connection getConnection() throws DatabaseException; /** * Returns a database connection object to the connection pool. * * @param conn The Connection object to be released. * @exception com.silverwrist.dynamo.except.DatabaseException If there was an error returning the connection. */ public void releaseConnection(Connection conn) throws DatabaseException; } // end interface DBConnectionPool