## wisdom.core.application
インタフェース IHandler

既知のサブインタフェースの一覧:
  IBatchHandler, IRequestHandler

既知の実装クラスの一覧:
  BatchHandler, RequestHandler

public interface IHandler

IRequestCommand,IBatchCommandで使用できるアプリケーション情報の取得を定義したインターフェース。
IRequestCommand,IBatchCommand実行中の、データ・ソースへの接続、トランザクション管理、属性情報へのアクセス方法を定義しています。 このインターフェースの実装クラスは実行時にwisdomにより作成され、AbstractRequestCommand,AbstractBatchCommandのインスタンス変数として使用 することができます。
このインターフェースを使用することでIRequestCommand,IBatchCommand共通で使用するアプリケーションに対応できるように なります。
2005/2/1 WA0035対応

導入されたバージョン:
  2004/6/9
バージョン:
  1
作成者:
  Takao Kouda

メソッドの概要
`void` `closeConnection(java.sql.Connection c)` このIHandlerから取得したConnectionオブジェクトをクローズします。
`java.lang.Object` `getAttribute(java.lang.String key)` 属性を取得します。
`java.sql.Connection` `getConnection()` 省略時のデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.Object invoker)` 省略時のデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.Object invoker, java.lang.String defineName)` 指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.Object invoker, java.lang.String user, java.lang.String password)` 省略時のデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.Object invoker, java.lang.String defineName, java.lang.String user, java.lang.String password)` 指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.String defineName)` 指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.String user, java.lang.String password)` 省略時のデータ・ソースからConnectionを取得します。
`java.sql.Connection` `getConnection(java.lang.String defineName, java.lang.String user, java.lang.String password)` 指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
`void` `setAttribute(java.lang.String key, java.lang.Object value)` 属性を設定します。

メソッドの詳細

### setAttribute

    public void setAttribute(java.lang.String key,
                             java.lang.Object value)

  属性を設定します。
  このメソッドは実装クラスが`IRequestHandler`の場合、 HttpServletRequest#setAttribute(key,value)を実行します。
  このメソッドは実装クラスが`IBatchHandler`の場合、 内部で持つ、配列を使用して属性を管理します

  パラメータ:
    `key` - 設定するキー
    `value` - 設定するオブジェクトの値

### getAttribute

    public java.lang.Object getAttribute(java.lang.String key)

  属性を取得します。
  このメソッドは実装クラスが`IRequestHandler`の場合、 HttpServletRequest#getAttribute(key)を実行します。
  このメソッドは実装クラスが`IBatchHandler`の場合、 内部で持つ、配列を使用して属性を管理します

  パラメータ:
    `key` - 取得するキー
  戻り値:
    取得したオブジェクト

### getConnection

    public java.sql.Connection getConnection(java.lang.String defineName)
                                      throws java.lang.Exception

  指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
  IBatchHandlerの実行中に取得されたConnectionオブジェクトはdefineNameが同一であれば同じ Connectionオブジェクトを取得します。

  パラメータ:
    `defineName` -
  戻り値:
    Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.String defineName,
                                             java.lang.String user,
                                             java.lang.String password)
                                      throws java.lang.Exception

  指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
  IBatchHandlerの実行中に取得されたConnectionオブジェクトはdefineNameが同一であれば同じ Connectionオブジェクトを取得します。

  パラメータ:
    `defineName` -
    `user` -
    `password` -
  戻り値:
    Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.Object invoker,
                                             java.lang.String defineName)
                                      throws java.lang.Exception

  指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
  IBatchHandlerの実行中に取得されたConnectionオブジェクトはdefineNameが同一であれば同じ Connectionオブジェクトを取得します。
  invokerはSQLトレースが出力されるように設定されている場合は必須です。

  パラメータ:
    `invoker` - 呼び出し元オブジェクト
  戻り値:
    Connection Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.Object invoker,
                                             java.lang.String defineName,
                                             java.lang.String user,
                                             java.lang.String password)
                                      throws java.lang.Exception

  指定されたdefineNameで設定されているデータ・ソースからConnectionを取得します。
  IBatchHandlerの実行中に取得されたConnectionオブジェクトはdefineNameが同一であれば同じ Connectionオブジェクトを取得します。
  invokerはSQLトレースが出力されるように設定されている場合は必須です。

  パラメータ:
    `invoker` - 呼び出し元オブジェクト
    `user` -
    `password` -
  戻り値:
    Connection Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection()
                                      throws java.lang.Exception

  省略時のデータ・ソースからConnectionを取得します。
  IRequestHandlerの実行中で取得されるConnectionオブジェクトは同一です。

  戻り値:
    Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.String user,
                                             java.lang.String password)
                                      throws java.lang.Exception

  省略時のデータ・ソースからConnectionを取得します。
  IRequestHandlerの実行中で取得されるConnectionオブジェクトは同一です。

  パラメータ:
    `user` -
    `password` -
  戻り値:
    Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.Object invoker)
                                      throws java.lang.Exception

  省略時のデータ・ソースからConnectionを取得します。
  IRequestHandlerの実行中で取得されるConnectionオブジェクトは同一です。 invokerはSQLトレースが出力されるように設定されている場合は必須です。

  戻り値:
    Connection Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

    public java.sql.Connection getConnection(java.lang.Object invoker,
                                             java.lang.String user,
                                             java.lang.String password)
                                      throws java.lang.Exception

  省略時のデータ・ソースからConnectionを取得します。
  IRequestHandlerの実行中で取得されるConnectionオブジェクトは同一です。 invokerはSQLトレースが出力されるように設定されている場合は必須です。

  パラメータ:
    `user` -
    `password` -
  戻り値:
    Connection Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### closeConnection

    public void closeConnection(java.sql.Connection c)
                         throws java.lang.Exception

  このIHandlerから取得したConnectionオブジェクトをクローズします。
  引数のConnectionオブジェクトがこのオブジェクトから取得されたものでない場合、このメソッドは無視します。
  close()する直前にConnection#commit()が実行されます。

  パラメータ:
    `c` -
  例外:
    `java.lang.Exception`
  導入されたバージョン:
    2005/2/1 WA0035対応