## wisdom.core.runtime
クラス RequestHandler

    java.lang.Object
      wisdom.core.CoreObject
          wisdom.core.runtime.RequestHandler

すべての実装インタフェース:
  IHandler, IRequestHandler

直系の既知のサブクラス:
  SessionRequestHandler

public class RequestHandler
extends CoreObject
implements IRequestHandler

IRequestHandlerの実装クラス

バージョン:
  0.90, 1/1/2001
作成者:
  Takao Kouda

コンストラクタの概要
`RequestHandler(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res, javax.servlet.ServletConfig servletconfig)`

メソッドの概要
`void` `addUnremovableSessionAttributeName(java.lang.String key)` このメソッドはRequestHandlerでは実装されていません。
`void` `addUnremovableSessionAttributeNames(java.lang.String[] keys)` このメソッドはRequestHandlerでは実装されていません。
`void` `cleanupRemovableSessionAttributes()` このメソッドはRequestHandlerでは実装されていません。
`void` `closeConnection(java.sql.Connection c)` このIHandlerから取得したConnectionオブジェクトをクローズします。
`java.lang.Object` `getAttribute(java.lang.String key)` 属性を取得します。
`RequestCommand` `getCommand(CommandSet cs, ServletRuntimeConfig serlvetRuntimeConfig)` このクラスが保持しているHttpServletRequest を解析して要求にあったCommand オブジェクトを取得します。
`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を取得します。
`IRequestCommand` `getInvoker()` このオブジェクトを使用しているRequestCommandのインスタンスを取得します
`java.lang.String` `getReqId()` 実行中の`IRequestCommand`が持つreqidを取得します。
`javax.servlet.http.HttpServletRequest` `getRequest()` 使用しているHttpServletRequestのインスタンスを取得します。
`IRequestParser` `getRequestParser()` 使用しているIRequestParserインターフェースの実装オブジェクトを取得します。
`javax.servlet.http.HttpServletResponse` `getResponse()` 使用しているHttpServletResonseのインスタンスを取得します。
`javax.servlet.ServletConfig` `getServletConfig()` 使用しているServletConfig のインスタンスを取得します。
`javax.servlet.ServletContext` `getServletContext()` このオブジェクトに含まれる ServletContext のインスタンスを返します。
`java.lang.Object` `getSessionAttribute(java.lang.String key)` このメソッドはRequestHandlerでは実装されていません。
`java.lang.Object` `getSessionAttribute(java.lang.String key, boolean allowNull)` このメソッドはRequestHandlerでは実装されていません。
`java.util.List` `getUnremovableSessionAttributeNames()` このメソッドはRequestHandlerでは実装されていません。
`java.lang.String` `getUser()`
`IUserSession` `getUserSession()` このメソッドはRequestHandlerでは実装されていません。
`boolean` `isEnterUserId()` Gets the enterUserId
`void` `removeSessionAttribute(java.lang.String key)` このメソッドはRequestHandlerでは実装されていません。
`void` `removeUnremovableSessionAttributeName(java.lang.String key)` このメソッドはRequestHandlerでは実装されていません。
`void` `sessionStateChange(java.lang.String page)` セッション情報をHttpSessionオブジェクトにputします。
`void` `setAttribute(java.lang.String key, java.lang.Object value)` 属性を設定します。
`void` `setEnterUserId(boolean enterUserId)` Sets the enterUserId
`void` `setSessionAttribute(java.lang.String key, java.lang.Object object)` このメソッドはRequestHandlerでは実装されていません。

クラス java.lang.Object から継承したメソッド
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

コンストラクタの詳細

### RequestHandler

    public RequestHandler(javax.servlet.http.HttpServletRequest req,
                          javax.servlet.http.HttpServletResponse res,
                          javax.servlet.ServletConfig servletconfig)
                   throws java.lang.Exception

メソッドの詳細

### setAttribute

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

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

  定義:
    インタフェース `IHandler` 内の `setAttribute`
  パラメータ:
    `key` - 設定するキー
    `value` - 設定するオブジェクトの値

### getAttribute

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

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

  定義:
    インタフェース `IHandler` 内の `getAttribute`
  パラメータ:
    `key` - 取得するキー
  戻り値:
    取得したオブジェクト

### getRequest

    public javax.servlet.http.HttpServletRequest getRequest()

  インタフェース `IRequestHandler` の記述:
  使用しているHttpServletRequestのインスタンスを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getRequest`
  戻り値:
    HttpServletRequestのインスタンス

### getResponse

    public javax.servlet.http.HttpServletResponse getResponse()

  インタフェース `IRequestHandler` の記述:
  使用しているHttpServletResonseのインスタンスを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getResponse`
  戻り値:
    HttpServletResponseのインスタンス

### getRequestParser

    public IRequestParser getRequestParser()

  インタフェース `IRequestHandler` の記述:
  使用しているIRequestParserインターフェースの実装オブジェクトを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getRequestParser`
  戻り値:
    IRequestParser

### getServletConfig

    public javax.servlet.ServletConfig getServletConfig()

  インタフェース `IRequestHandler` の記述:
  使用しているServletConfig のインスタンスを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getServletConfig`
  戻り値:
    ServletConfigのインスタンス

### getServletContext

    public javax.servlet.ServletContext getServletContext()

  インタフェース `IRequestHandler` の記述:
  このオブジェクトに含まれる ServletContext のインスタンスを返します。

  定義:
    インタフェース `IRequestHandler` 内の `getServletContext`
  戻り値:
    ServletContext ServletContextのインスタンス

### getUser

    public java.lang.String getUser()

### getConnection

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

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

  定義:
    インタフェース `IHandler` 内の `getConnection`
  パラメータ:
    `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

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

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

### getConnection

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

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

  定義:
    インタフェース `IHandler` 内の `getConnection`
  戻り値:
    Connectionオブジェクトのインスタンス
  例外:
    `java.lang.Exception`

### getConnection

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

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

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

### getConnection

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

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

  定義:
    インタフェース `IHandler` 内の `getConnection`
  戻り値:
    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

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

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

### getConnection

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

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

  定義:
    インタフェース `IHandler` 内の `getConnection`
  パラメータ:
    `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

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

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

### closeConnection

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

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

  定義:
    インタフェース `IHandler` 内の `closeConnection`
  パラメータ:
    `c` -
  例外:
    `java.lang.Exception`

### getUserSession

    public IUserSession getUserSession()

  このメソッドはRequestHandlerでは実装されていません。
  実行時時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `getUserSession`
  戻り値:
    IUserSessionのインスタンス

### setSessionAttribute

    public void setSessionAttribute(java.lang.String key,
                                    java.lang.Object object)

  このメソッドはRequestHandlerでは実装されていません。
  実行時時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `setSessionAttribute`
  パラメータ:
    `key` - 設定するキー
    `object` - 設定するオブジェクト

### removeSessionAttribute

    public void removeSessionAttribute(java.lang.String key)

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `removeSessionAttribute`
  パラメータ:
    `key` - 除くオブジェクトのキー

### getSessionAttribute

    public java.lang.Object getSessionAttribute(java.lang.String key)
                                         throws MissingSessionObjectException

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `getSessionAttribute`
  パラメータ:
    `key` - 設定するキー
  例外:
    `MissingSessionObjectException` - 指定されたキーのオブジェクトがセッション情報にない場合に送出されます。

### getSessionAttribute

    public java.lang.Object getSessionAttribute(java.lang.String key,
                                                boolean allowNull)
                                         throws MissingSessionObjectException

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `getSessionAttribute`
  パラメータ:
    `key` - 設定するキー
    `allowNull` - trueの場合、セッション情報にないとき例外送出ではなくnullが戻されます
  例外:
    `MissingSessionObjectException` - 指定されたキーのオブジェクトがセッション情報にない場合に送出されます。

### cleanupRemovableSessionAttributes

    public void cleanupRemovableSessionAttributes()

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `cleanupRemovableSessionAttributes`

### addUnremovableSessionAttributeName

    public void addUnremovableSessionAttributeName(java.lang.String key)

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `addUnremovableSessionAttributeName`
  パラメータ:
    `key` - 除外不可として設定するセッション情報のキー値

### addUnremovableSessionAttributeNames

    public void addUnremovableSessionAttributeNames(java.lang.String[] keys)

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `addUnremovableSessionAttributeNames`
  パラメータ:
    `keys` - 除外不可として設定するセッション情報のキー値の配列

### removeUnremovableSessionAttributeName

    public void removeUnremovableSessionAttributeName(java.lang.String key)

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `removeUnremovableSessionAttributeName`
  パラメータ:
    `key` - 除外対象から取り除くセッション情報のキー値

### getUnremovableSessionAttributeNames

    public java.util.List getUnremovableSessionAttributeNames()

  このメソッドはRequestHandlerでは実装されていません。
  実行時にUnsupportedOperationExceptionが送出されます。

  定義:
    インタフェース `IRequestHandler` 内の `getUnremovableSessionAttributeNames`
  戻り値:
    除外不可として設定されたセッション情報のキー値のString配列

### sessionStateChange

    public void sessionStateChange(java.lang.String page)
                            throws java.lang.Exception

  セッション情報をHttpSessionオブジェクトにputします。

  例外:
    `java.lang.Exception`

### getReqId

    public java.lang.String getReqId()

  インタフェース `IRequestHandler` の記述:
  実行中の`IRequestCommand`が持つreqidを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getReqId`
  戻り値:
    rqid

### getCommand

    public RequestCommand getCommand(CommandSet cs,
                                     ServletRuntimeConfig serlvetRuntimeConfig)
                              throws java.lang.Exception,
                                     MissConfiguredException

  このクラスが保持しているHttpServletRequest を解析して要求にあったCommand オブジェクトを取得します。 内部では 呼び出したURI、HttpServletRequest の中に "reqid" というパラメータを元にCommandSet オブジェクトから Command オブジェクトを取得します。 HttpServletRequestの中に"reqid"というパラメータがない場合は、URIのみを使用して取得します。

  戻り値:
    Command 実行するCommandオブジェクトのインスタンス。
  例外:
    `MissConfiguredException` - URI、URIとreqidで合致するCommandが存在しない場合に送出されます。
    `java.lang.Exception`

### getInvoker

    public IRequestCommand getInvoker()

  インタフェース `IRequestHandler` の記述:
  このオブジェクトを使用しているRequestCommandのインスタンスを取得します

  定義:
    インタフェース `IRequestHandler` 内の `getInvoker`
  戻り値:
    RequestCommandのインスタンス

### isEnterUserId

    public boolean isEnterUserId()

  Gets the enterUserId

  戻り値:
    Returns a boolean

### setEnterUserId

    public void setEnterUserId(boolean enterUserId)

  Sets the enterUserId

  パラメータ:
    `enterUserId` - The enterUserId to set