## wisdom.core.runtime
クラス SessionRequestHandler

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

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

public final class SessionRequestHandler
extends RequestHandler

RequestHandlerを継承して、Sessionオブジェクトへの操作に対応したクラス。
このクラスではコンストラクタ実行時にHttpSessionからUserSession.SESSION_NAMEのキーを使用して
UserSessionオブジェクトを取得します。このときにHttpSessionがnull、もしくはUserSessionがnullの場合には
SessionTimedOutExceptionを送出します。
SSHRHandlerはSessionStateHandleRequestHandlerの略です。
WA0030対応 2004/11/09

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

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

メソッドの概要
`void` `addUnremovableSessionAttributeName(java.lang.String key)` 除去不能なセッション情報を登録します。
`void` `addUnremovableSessionAttributeNames(java.lang.String[] keys)` 除去不能なセッション情報を登録します。
`void` `cleanupRemovableSessionAttributes()` 除去可能なセッション属性をすべてクリアします。
`java.lang.Object` `getSessionAttribute(java.lang.String key)` セッション情報から指定されたキーのオブジェクトを取得します。
`java.lang.Object` `getSessionAttribute(java.lang.String key, boolean allowNull)` セッション情報から指定されたキーのオブジェクトを取得します。
`java.util.List` `getUnremovableSessionAttributeNames()` 除去不能なセッション情報のキー名を取得します。
`IUserSession` `getUserSession()` 内包しているUserSessionオブジェクトを取得します。
`boolean` `isEnterUserId()` Gets the enterUserId
`void` `logOut()` ログ・アウト状態にします。
`void` `removeSessionAttribute(java.lang.String key)` セッション情報から指定されたキーのオブジェクトを除きます。
`void` `removeUnremovableSessionAttributeName(java.lang.String key)` 除去不能なセッション情報を削除します。
`void` `sessionStateChange(java.lang.String page)` セッション情報をHttpSessionオブジェクトにputします。
`void` `setEnterUserId(boolean enterUserId)` Sets the enterUserId
`void` `setSessionAttribute(java.lang.String key, java.lang.Object object)` セッション情報に指定されたキーで値を設定します。
`void` `setUserSession(IUserSession us)` 内包しているIUserSessionオブジェクトを設定します。

クラス wisdom.core.runtime.RequestHandler から継承したメソッド
`closeConnection, getAttribute, getCommand, getConnection, getConnection, getConnection, getConnection, getConnection, getConnection, getConnection, getConnection, getInvoker, getReqId, getRequest, getRequestParser, getResponse, getServletConfig, getServletContext, getUser, setAttribute`

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

コンストラクタの詳細

### SessionRequestHandler

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

  コンストラクタ

パラメータ:
  `req` - HttpServletRequestのインスタンス
  `res` - HttpServletResponseのインスタンス
  `servletconfig` -
例外:
  `java.lang.Exception`

メソッドの詳細

### setSessionAttribute

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

  セッション情報に指定されたキーで値を設定します。

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

### removeSessionAttribute

    public void removeSessionAttribute(java.lang.String key)

  セッション情報から指定されたキーのオブジェクトを除きます。

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

### getSessionAttribute

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

  セッション情報から指定されたキーのオブジェクトを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getSessionAttribute`
  オーバーライド:
    クラス `RequestHandler` 内の `getSessionAttribute`
  例外:
    `MissingSessionObjectException`

### getSessionAttribute

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

  セッション情報から指定されたキーのオブジェクトを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getSessionAttribute`
  オーバーライド:
    クラス `RequestHandler` 内の `getSessionAttribute`
  例外:
    `MissingSessionObjectException`

### sessionStateChange

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

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

  オーバーライド:
    クラス `RequestHandler` 内の `sessionStateChange`
  例外:
    `java.lang.Exception`

### cleanupRemovableSessionAttributes

    public void cleanupRemovableSessionAttributes()

  除去可能なセッション属性をすべてクリアします。
  `addUnemovableSessionAttbuteName`で登録された以外のセッション属性を すべてremoveします。

  定義:
    インタフェース `IRequestHandler` 内の `cleanupRemovableSessionAttributes`
  オーバーライド:
    クラス `RequestHandler` 内の `cleanupRemovableSessionAttributes`

### addUnremovableSessionAttributeName

    public void addUnremovableSessionAttributeName(java.lang.String key)

  除去不能なセッション情報を登録します。
  `cleanupRemovableSessionAttributes`でクリア対象外にするセッション情報のkeyを登録します。 登録されたkeyを持つセッション情報は`cleanupRemovableSessionAttributes`でクリアされません。

  定義:
    インタフェース `IRequestHandler` 内の `addUnremovableSessionAttributeName`
  オーバーライド:
    クラス `RequestHandler` 内の `addUnremovableSessionAttributeName`
  パラメータ:
    `key` - 除去不能なセッション情報として登録するセッション情報のキー

### addUnremovableSessionAttributeNames

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

  除去不能なセッション情報を登録します。
  `cleanupRemovableSessionAttributes`でクリア対象外にするセッション情報のkeyを登録します。 登録されたkeyを持つセッション情報は`cleanupRemovableSessionAttributes`でクリアされません。

  定義:
    インタフェース `IRequestHandler` 内の `addUnremovableSessionAttributeNames`
  オーバーライド:
    クラス `RequestHandler` 内の `addUnremovableSessionAttributeNames`
  パラメータ:
    `keys` - 除去不能なセッション情報として登録するセッション情報のキーの配列

### removeUnremovableSessionAttributeName

    public void removeUnremovableSessionAttributeName(java.lang.String key)

  除去不能なセッション情報を削除します。
  `addUnremovableSessionAttributeName`、 `addUnremovableSessionAttributeNames` クリア対象外として登録されたkeyを削除します。

  定義:
    インタフェース `IRequestHandler` 内の `removeUnremovableSessionAttributeName`
  オーバーライド:
    クラス `RequestHandler` 内の `removeUnremovableSessionAttributeName`
  パラメータ:
    `key` - 除去不能なセッション情報を削除するセッション情報のキー

### getUnremovableSessionAttributeNames

    public java.util.List getUnremovableSessionAttributeNames()

  除去不能なセッション情報のキー名を取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getUnremovableSessionAttributeNames`
  オーバーライド:
    クラス `RequestHandler` 内の `getUnremovableSessionAttributeNames`
  戻り値:
    `addUnremovableSessionAttributeName`、 `addUnremovableSessionAttributeNames`で登録された除去不能なセッション情報のキー値を含んだ配列。

### logOut

    public void logOut()

  ログ・アウト状態にします。 このメソッドを実行した後はログインページに戻ります。

### getUserSession

    public IUserSession getUserSession()

  内包しているUserSessionオブジェクトを取得します。

  定義:
    インタフェース `IRequestHandler` 内の `getUserSession`
  オーバーライド:
    クラス `RequestHandler` 内の `getUserSession`
  戻り値:
    UserSession 内包しているUserSessionオブジェクト

### setUserSession

    public void setUserSession(IUserSession us)

  内包しているIUserSessionオブジェクトを設定します。
  このメソッドは<@link wisdom.core.application.IAuthenticate>の中で設定されたセッションオブジェクトに対して 継続のコマンドで実行可能なように追加されました。このメソッドの使用は<@link wisdom.core.application.IAuthenticate#authenticate(IRequestHandler, String, String)> 内部に限定してください。
  <@link wisdom.core.application.IAuthenticate#authenticate(IRequestHandler, String, String)>で引数に渡されるIRequestHandlerのインスタンスは すでにSessionRequestHandlerになっているので、引数のオブジェクトをSessionRequestHandlerにキャストしてこのメソッドを使用します。 WA0030対応 2004/11/09

  パラメータ:
    `us` -

### isEnterUserId

    public boolean isEnterUserId()

  Gets the enterUserId

  オーバーライド:
    クラス `RequestHandler` 内の `isEnterUserId`
  戻り値:
    Returns a boolean

### setEnterUserId

    public void setEnterUserId(boolean enterUserId)

  Sets the enterUserId

  オーバーライド:
    クラス `RequestHandler` 内の `setEnterUserId`
  パラメータ:
    `enterUserId` - The enterUserId to set