jp.livewell.baby.pool.jdbc
クラス ConnectionFactory

java.lang.Object
  |
  +--jp.livewell.baby.pool.jdbc.ConnectionFactory
すべての実装インタフェース:
Factory

public class ConnectionFactory
extends java.lang.Object
implements Factory

JDBC Connectionを取得するためのclassです。コンストラクタ又はinitで接続情 報を渡しておきます。初期化されると接続情報は変更できません。 ConnectionPoolから使用されます。

作成者:
mitsuhito

コンストラクタの概要
protected ConnectionFactory()
          データベースの接続情報無しでConnectionPoolを構築します。
  ConnectionFactory(ConnectionPoolInfo info)
          データベースの接続情報を指定してConnectionPoolを構築します。
 
メソッドの概要
 boolean connectTest(ConnectionPoolInfo info)
          ConnectionFactoryを初期化せずにデータベースの接続テストを行います。
 Wrapper create()
          Wrapper(このFactoryではConnectionWrapper)を戻します。
 java.sql.Connection getConnection()
          JDBC Connectionを取得します。
 java.io.PrintWriter getLogWriter()
          ログの出力先を取得します。
protected  void init(ConnectionPoolInfo info)
          ConnectionFactoryを初期化します。
 boolean isInit()
          このinstanceが初期化されているかを取得します。
protected  java.sql.Driver loadDriver(java.lang.String driverName)
          JDBC Driverのinstanceを取得します。
 void setLogWriter(java.io.PrintWriter logger)
          ログの出力先を設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

ConnectionFactory

protected ConnectionFactory()
データベースの接続情報無しでConnectionPoolを構築します。

ConnectionFactory

public ConnectionFactory(ConnectionPoolInfo info)
                  throws java.sql.SQLException
データベースの接続情報を指定してConnectionPoolを構築します。渡された 接続情報でデータベースへの接続が出来なかった場合、SQLExceptionが throwされます。
パラメータ:
info - データベースの接続情報
例外:
java.sql.SQLException - 渡された接続情報でデータベースへの接続が失敗した場合
メソッドの詳細

init

protected void init(ConnectionPoolInfo info)
             throws java.sql.SQLException,
                    java.lang.IllegalStateException
ConnectionFactoryを初期化します。
パラメータ:
info - データベースの接続情報
例外:
java.sql.SQLException - 渡された接続情報でデータベースへの接続が失敗した場合
java.lang.IllegalStateException - 既に初期化されているのにこのメソッドを呼び出した場合

getLogWriter

public java.io.PrintWriter getLogWriter()
ログの出力先を取得します。setLogWriterで指定されていない場合には、 標準エラー出力へ出力するPrintWriterが返されます。
戻り値:
ログの出力先になるPrintWriter

setLogWriter

public void setLogWriter(java.io.PrintWriter logger)
ログの出力先を設定します。出力を行わない場合はnullを指定して下さい。 nullが指定された場合、どこにも出力を行わないPrintWriterがセットされ ます。
パラメータ:
logger - ログの出力先になるPrintWriter

isInit

public boolean isInit()
このinstanceが初期化されているかを取得します。
戻り値:
初期化されていればtrue

create

public Wrapper create()
               throws java.lang.Exception
Wrapper(このFactoryではConnectionWrapper)を戻します。
定義:
インタフェース Factory 内の create
戻り値:
ConnectionWrapperをWrapper interfaceで戻します。
例外:
java.lang.Exception - データベースから接続を取得できなかった時。 初期化されていない状態で呼び出された時

connectTest

public boolean connectTest(ConnectionPoolInfo info)
ConnectionFactoryを初期化せずにデータベースの接続テストを行います。
パラメータ:
info - データベースの接続情報
戻り値:
データベースへの接続とpingCommandの発行に成功した場合はtrue, 失敗した場合はfalse

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException,
                                         java.lang.IllegalStateException
JDBC Connectionを取得します。
戻り値:
JDBC Connection
例外:
java.sql.SQLException - データベースから接続を取得できなかった時
java.lang.IllegalStateException - 初期化されていない状態で呼び出されたとき

loadDriver

protected java.sql.Driver loadDriver(java.lang.String driverName)
                              throws java.lang.ClassNotFoundException,
                                     java.lang.RuntimeException
JDBC Driverのinstanceを取得します。
パラメータ:
driverName - JDBC Driverの完全指定名
戻り値:
JDBC Driverのインスタンス
例外:
java.lang.ClassNotFoundException - 指定された接続情報のJDBC Dirverがclass path内で見つけられな い場合
java.lang.RuntimeException - DriverManagerからdriverNameで指定されたDriverを見つけることが 出来なかった場合