org.seasar.extension.datasource.impl
クラス SelectableDataSourceProxy

java.lang.Object
  拡張org.seasar.extension.datasource.impl.SelectableDataSourceProxy
すべての実装インタフェース:
javax.sql.DataSource

public class SelectableDataSourceProxy
extends java.lang.Object
implements javax.sql.DataSource

他のデータソースに委譲するデータソースのプロキシです。

このプロキシはWEBアプリケーション等でユーザごとに異なったデータソースを切り替えたい場合に使われることを想定しています。 データソースを利用するDAOはこのプロキシをデータソースとして使用します。

作成者:
koichik, higa

フィールドの概要
protected  DataSourceFactory dataSourceFactory
          データソースファクトリです。
 
コンストラクタの概要
SelectableDataSourceProxy()
           
 
メソッドの概要
 java.sql.Connection getConnection()
          スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。
 java.sql.Connection getConnection(java.lang.String username, java.lang.String password)
          スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。
 javax.sql.DataSource getDataSource()
          DataSourceFactoryからデータソースを取得します。
 int getLoginTimeout()
          スレッドコンテキストに設定された名前を持つデータソースからログインタイムアウト時間(秒)を取得して返します。
 java.io.PrintWriter getLogWriter()
          スレッドコンテキストに設定された名前を持つデータソースからログライターを取得して返します。
 void setDataSourceFactory(DataSourceFactory dataSourceFactory)
           
 void setLoginTimeout(int seconds)
          スレッドコンテキストに設定された名前を持つデータソースにログインタイムアウト時間(秒)を設定します。
 void setLogWriter(java.io.PrintWriter out)
          スレッドコンテキストに設定された名前を持つデータソースにログライターを設定します。
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

dataSourceFactory

protected DataSourceFactory dataSourceFactory
データソースファクトリです。

コンストラクタの詳細

SelectableDataSourceProxy

public SelectableDataSourceProxy()
メソッドの詳細

setDataSourceFactory

public void setDataSourceFactory(DataSourceFactory dataSourceFactory)
パラメータ:
dataSourceFactory - データソースファクトリ

getDataSource

public javax.sql.DataSource getDataSource()
DataSourceFactoryからデータソースを取得します。

戻り値:
スレッドコンテキストに設定された名前を持つデータソース
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - DataSourceFactoryに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます

getConnection

public java.sql.Connection getConnection()
                                  throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。

定義:
インタフェース javax.sql.DataSource 内の getConnection
戻り値:
スレッドコンテキストに設定された名前を持つデータソースから取得したコネクション
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます

getConnection

public java.sql.Connection getConnection(java.lang.String username,
                                         java.lang.String password)
                                  throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。

定義:
インタフェース javax.sql.DataSource 内の getConnection
パラメータ:
username - ユーザ名
password - パスワード
戻り値:
スレッドコンテキストに設定された名前を持つデータソースから取得したコネクション
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます

getLogWriter

public java.io.PrintWriter getLogWriter()
                                 throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースからログライターを取得して返します。

定義:
インタフェース javax.sql.DataSource 内の getLogWriter
戻り値:
スレッドコンテキストに設定された名前を持つデータソースから取得したログライター
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます

setLogWriter

public void setLogWriter(java.io.PrintWriter out)
                  throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースにログライターを設定します。

定義:
インタフェース javax.sql.DataSource 内の setLogWriter
パラメータ:
out - スレッドコンテキストに設定された名前を持つデータソースに設定するログライター
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます

getLoginTimeout

public int getLoginTimeout()
                    throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースからログインタイムアウト時間(秒)を取得して返します。

定義:
インタフェース javax.sql.DataSource 内の getLoginTimeout
戻り値:
スレッドコンテキストに設定された名前を持つデータソースから取得したログインタイムアウト時間(秒)
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます

setLoginTimeout

public void setLoginTimeout(int seconds)
                     throws java.sql.SQLException
スレッドコンテキストに設定された名前を持つデータソースにログインタイムアウト時間(秒)を設定します。

定義:
インタフェース javax.sql.DataSource 内の setLoginTimeout
パラメータ:
seconds - スレッドコンテキストに設定された名前を持つデータソースに設定するログインタイムアウト時間(秒)
例外:
EmptyRuntimeException - スレッドコンテキストにデータソース名が設定されていない場合にスローされます
org.seasar.framework.container.ComponentNotFoundException - スレッドコンテキストに設定されたデータソース名を持つコンポーネントがS2コンテナに登録されていない場合にスローされます
java.sql.SQLException - データソースで例外が発生した場合にスローされます


Copyright © 2004-2014 The Seasar Foundation. All Rights Reserved.