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

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

public class SelectableDataSourceProxy
extends Object
implements DataSource

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

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

作成者:
koichik, higa

フィールドの概要
protected  DataSourceFactory dataSourceFactory
           
 
コンストラクタの概要
SelectableDataSourceProxy()
           
 
メソッドの概要
 Connection getConnection()
          スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。
 Connection getConnection(String username, String password)
          スレッドコンテキストに設定された名前を持つデータソースからコネクションを取得して返します。
 DataSource getDataSource()
          DataSourceFactoryからデータソースを取得します。
 int getLoginTimeout()
          スレッドコンテキストに設定された名前を持つデータソースからログインタイムアウト時間(秒)を取得して返します。
 PrintWriter getLogWriter()
          スレッドコンテキストに設定された名前を持つデータソースからログライターを取得して返します。
 void setDataSourceFactory(DataSourceFactory dataSourceFactory)
           
 void setLoginTimeout(int seconds)
          スレッドコンテキストに設定された名前を持つデータソースにログインタイムアウト時間(秒)を設定します。
 void setLogWriter(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 - The dataSourceFactory to set.

getDataSource

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

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

getConnection

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

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

getConnection

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

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

getLogWriter

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

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

setLogWriter

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

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

getLoginTimeout

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

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

setLoginTimeout

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

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


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