org.opengion.hayabusa.resource

## クラス UserInfo

- java.lang.Object
- - org.opengion.hayabusa.resource.UserInfo

- すべての実装されたインタフェース:
    Comparable<UserSummary>, Cleanable, UserSummary

      public class UserInfo
      extends Object
      implements UserSummary, Cleanable

  ユーザー情報の取得の為のインターフェースを実装したクラスです。 ログイン時のパスワードのチェックや,国名の識別ID，ポータルページのURLなど 個人情報を管理させます。 特に,画面アクセス時の権限やメールの送信，各画面にユーザー情報を表示したり, エラー時のログファイル，テンポラリディレクトリなども管理します。 {@USER.XXXX} で、XXXX 部に、UserInfo オブジェクトで定義されている 属性情報を取り出すことが出来ます。 以下の値は UserInfo オブジェクトの項目から取得します。 ・JNAME ユーザー日本語名称 ・ID ユーザーＩＤ ・INFO ユーザー情報(ユーザーID：日本語名称) ・LANG 言語 ・ROLES ロール ・IPADDRESS IPアドレス ・LOGINTIME ログイン時刻 ・LASTACCESS 最終アクセス画面ID 以下の値はあらかじめ、動的に作成されます。 ・YMD ８byte の今日のシステム日付 ・YMDH １４byte の今日のシステム日時 それ以外は,外部より設定された値です。 従来は、USER.IDNO はUSER.ID が５Byte以上の時のみ先頭１文字を除いたユーザーＩＤとして オブジェクト項目からの取得でしたが、現在は初期値として設定してあります。 外部より再設定可能になっています。
  機能分類
    リソース管理
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `static boolean` | `USE_DB_APPLICATION_INFO` コネクションにアプリケーション情報を追記するかどうか指定

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタと説明
    `UserInfo(String userID, String lang, String jname, String roles, String droles, String systemId, String ipAddress, ApplicationInfo appInfo)` コンストラクター

  - ### メソッドの概要

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `void` | `addEditConfig(String guikey, String editName, DBEditConfig config)` 指定の画面ID、エディット名でエディット設定オブジェクトを追加します。
    `void` | `clear()` 初期化(クリア)します(org.opengion.fukurou.util.Cleanable の実装)。
    `int` | `compareTo(UserSummary object)` 自然比較メソッド インタフェース Comparable の 実装です。
    `void` | `deleteEditConfig(String guikey, String editName)` 指定の画面ID、エディット名のエディット設定を削除します。
    `boolean` | `equals(Object object)` このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    `byte` | `getAccessBitMode(RoleMode other)` 指定のユーザーロールに対する最終的なアクセス条件を取得します。
    `ApplicationInfo` | `getApplicationInfo(String gamenId, String prgId)` アクセスログ取得の為,ApplicationInfoオブジェクトを返します。
    `String` | `getAttribute(String key)` UserInfoの属性文字列を取得します。
    `String` | `getDataCondition(String clm)` 指定されたカラムキーに対応するデータの条件式を返します。
    `DBEditConfig` | `getEditConfig(String guikey, String editName)` 画面ID、エディット名よりエディット設定オブジェクトを返します。
    `DBEditConfig[]` | `getEditConfigs(String guikey)` 引数の画面で登録されているエディット設定を配列で返します。
    `HybsEntry[]` | `getEntrys()` UserInfoの属性文字列の内部情報を返します。
    `Map<String,FavoriteGUIData>` | `getFavoriteMap()` ユーザー個別のお気に入り画面オブジェクトのマップを取得します。
    `GUIInfo` | `getGUIInfo(String gamenId)` ユーザー個別の画面オブジェクトを取得します。
    `GUIInfo[]` | `getGUIInfos()` ユーザー個別の画面オブジェクトのマップを取得します。
    `String` | `getInfo()` オブジェクトの識別子として，ユーザー情報を返します。
    `String` | `getIPAddress()` ユーザーのログインIPアドレスを取得します。
    `String` | `getJname()` ユーザー情報 名称(日本語)を取得します。
    `String` | `getLang()` ユーザー情報ロケール(言語)を取得します。
    `String` | `getLastRequestValue(String key)` 最後に使用されたリクエスト変数の値を、取得します。
    `long` | `getLoginTime()` ユーザーログイン時刻を取得します。
    `String` | `getParameter(String key)` ユーザーパラメータを取得します。
    `RoleMode` | `getRoleMode()` ロールモード情報を取得します。
    `String` | `getRoles()` ユーザー情報 ロール(役割)を取得します。
    `String` | `getSelectedEdit(String guikey)` 指定の画面IDに対して選択済みのエディット名を返します。
    `String` | `getUserID()` ユーザーを取得します。
    `int` | `hashCode()` オブジェクトのハッシュコード値を返します。
    `boolean` | `isAccess(String role)` このユーザーの権限で、指定のロールが許可されているかどうかを判定します。
    `boolean` | `isGUIInfoSet()` 画面オブジェクトのマップがセット済みかどうかを取得します。
    `boolean` | `isValidAddr(String addr)` アクセスが許可されているアドレスかどうかをチェックします。
    `void` | `removeAttribute(String key, boolean save)` UserInfoの属性文字列を削除します。
    `void` | `setAccessGui(GUIInfo guiInfo)` このユーザーでアクセスされた画面オブジェクトを設定します。
    `void` | `setAttribute(String key, String value, boolean save)` UserInfoの属性文字列を登録します。
    `void` | `setGUIMap(Map<String,GUIInfo> newGuiMap, Set<String> newForbidAddrSet)` ユーザー個別の画面オブジェクトのマップをセットします。
    `void` | `setLang(String newLang)` ユーザー情報ロケール(言語)をセットします。
    `void` | `setLastRequestMap(Map<String,String[]> reqMap)` 最後に使用されたリクエスト変数の値を、Mapを読み取って登録します。
    `void` | `setLastRequestValue(String key, String val)` 最後に使用されたリクエスト変数の値を、設定します。
    `void` | `setSelectedEdit(String guikey, String editName)` 指定の画面IDに対して選択済みのエディット名を登録します。
    `String` | `toString()` オブジェクトの識別子として，詳細なユーザー情報を返します。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### フィールドの詳細

    - #### USE_DB_APPLICATION_INFO

          public static final boolean USE_DB_APPLICATION_INFO

      コネクションにアプリケーション情報を追記するかどうか指定

  - ### コンストラクタの詳細

    - #### UserInfo

          public UserInfo(String userID,
                  String lang,
                  String jname,
                  String roles,
                  String droles,
                  String systemId,
                  String ipAddress,
                  ApplicationInfo appInfo)

      コンストラクター
      パラメータ:
        `userID` - ユーザー
        `lang` - 言語
        `jname` - 日本語名称
        `roles` - ロール
        `droles` - データロール
        `systemId` - システムID
        `ipAddress` - IPアドレス
        `appInfo` - アプリ情報オブジェクト
      変更履歴:

        3.0.0.1 (2003/02/14) ユーザー毎のエンコード指定方法を廃止します。
        3.1.3.0 (2003/04/10) ユーザー情報から、エンコード情報を削除する。
        3.4.0.3 (2003/09/10) "root","manager","admin" のロールを、すべて root 権限を与える。
        3.8.5.3 (2006/06/30) USE_USER_IDNO_C_SAPLESS を判定条件に加える。
        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
        4.3.0.0 (2008/07/04) ロールモードマルチ対応
        4.4.0.0 (2009/08/02) データロール対応
        5.3.6.0 (2011/06/01) ユーザー永続化情報(GE20)の読み込みをUserInfoFactoryから移動

  - ### メソッドの詳細

    - #### getParameter

          public String getParameter(String key)

      ユーザーパラメータを取得します。 ユーザーパラメーターは、通常、GE16 テーブルより取得します。 取得するSQL文は、SystemData の USER_PARAMETER_SQL に記述しておきます。 ユーザーパラメータに、値が存在しない場合は、システムリソースより 取得します。
      パラメータ:
        `key` - パラメータキー
      戻り値:
        パラメータ値(ユーザーパラメータになければ、システムリソースより取得

    - #### getLoginTime

          public long getLoginTime()

      ユーザーログイン時刻を取得します。
      定義:
        `getLoginTime` インタフェース内 `UserSummary`
      戻り値:
        ログイン時刻

    - #### getIPAddress

          public String getIPAddress()

      ユーザーのログインIPアドレスを取得します。
      定義:
        `getIPAddress` インタフェース内 `UserSummary`
      戻り値:
        IPアドレス

    - #### getUserID

          public String getUserID()

      ユーザーを取得します。
      定義:
        `getUserID` インタフェース内 `UserSummary`
      戻り値:
        ユーザー

    - #### getLang

          public String getLang()

      ユーザー情報ロケール(言語)を取得します。
      定義:
        `getLang` インタフェース内 `UserSummary`
      戻り値:
        ロケール(言語)

    - #### setLang

          public void setLang(String newLang)

      ユーザー情報ロケール(言語)をセットします。
      パラメータ:
        `newLang` - ロケール(言語)
      変更履歴:

        5.1.4.0 (2010/03/01) lang を書き換え可能とする。

    - #### getJname

          public String getJname()

      ユーザー情報 名称(日本語)を取得します。
      定義:
        `getJname` インタフェース内 `UserSummary`
      戻り値:
        名称(日本語)

    - #### getRoles

          public String getRoles()

      ユーザー情報 ロール(役割)を取得します。
      定義:
        `getRoles` インタフェース内 `UserSummary`
      戻り値:
        ロール(役割)

    - #### getRoleMode

          public RoleMode getRoleMode()

      ロールモード情報を取得します。
      戻り値:
        ロールモード情報
      変更履歴:

        4.3.0.0 (2008/07/04) 新規追加

    - #### getInfo

          public String getInfo()

      オブジェクトの識別子として，ユーザー情報を返します。
      定義:
        `getInfo` インタフェース内 `UserSummary`
      戻り値:
        ユーザー情報

    - #### setAttribute

          public void setAttribute(String key,
                          String value,
                          boolean save)

      UserInfoの属性文字列を登録します。 予約文字(JNAME,ID,INFO,LANG,ROLES,IPADDRESS,LOGINTIME,LASTACCESS,YMD,YMDH,LASTGAMENNM)を 登録しようとした場合は、エラーにします。 ※ 属性文字列キーが不正の場合、HybsSystemException が、throw されます。
      パラメータ:
        `key` - キー
        `value` - 値
        `save` - ユーザー永続化情報(GE20)に情報を保存するか

    - #### getAttribute

          public String getAttribute(String key)

      UserInfoの属性文字列を取得します。 以下の値は UserInfo オブジェクトの項目から取得します。

           ・JNAME      ユーザー日本語名称
           ・ID         ユーザーＩＤ
           ・IDNO       (初期値)USER.ID が５Byte以上の時のみ先頭１文字を除いたユーザーＩＤ
           ・INFO       ユーザー情報(ユーザーID：日本語名称)
           ・LANG       言語
           ・ROLES      ロール
           ・IPADDRESS  IPアドレス
           ・LOGINTIME  ログイン時刻
           ・LASTACCESS 最終アクセス画面ID
           ・LASTGAMENNM 最終アクセス画面名

           以下の値はあらかじめ、動的に作成されます。
           ・YMD       ８byte の今日のシステム日付
           ・YMDH    １４byte の今日のシステム日時

      それ以外は,外部より設定された値です。
      定義:
        `getAttribute` インタフェース内 `UserSummary`
      パラメータ:
        `key` - キー
      戻り値:
        UserInfoの属性文字列
      関連項目:
        `getAttribute( String )`
      変更履歴:

        2.1.0.2 (2002/11/07) USER.IDNO の返す値をUSER.ID が５Byte以上の時のみ、 先頭1文字を除いた値を返す様に変更。それ以外は、USER.IDを返す。
        2.2.0.0 (2002/12/17) 中国語(国際化)対応 ENCODE 追加
        3.1.3.0 (2003/04/10) ユーザー情報から、エンコード情報を削除する。
        3.5.4.2 (2003/12/15) ENAME,MAILTO、MAILUSERID、MAILPASSWD、GROUP、PROJECTを削除する。
        3.5.6.0 (2004/06/18) synchronized をattribute に行います。
        3.6.0.0 (2004/09/17) PASSWD を削除する。
        3.8.1.2 (2005/12/19) USER.IDNO を削除する。(外部設定可能にするため)
        3.8.7.0 (2006/12/15) ApplicationInfoオブジェクトから最終アクセス画面を取得
        4.4.0.0 (2009/08/02) データロール属性対応
        4.4.0.1 (2009/08/08) LASTGAMENNM追加

    - #### getEntrys

          public HybsEntry[] getEntrys()

      UserInfoの属性文字列の内部情報を返します。 この内部情報の中には、UserInfo 自身の管理情報も含めます。 独自管理キーは、JNAME,ID,IDNO,INFO,LANG,ROLES,IPADDRESS,LOGINTIME,LASTACCESS,LASTGAMENNM です。 それ以外は,外部より設定された値です。
      戻り値:
        属性文字列のHybsEntryオブジェクト配列
      変更履歴:

        4.0.0.0 (2004/12/31) 新規作成
        4.4.0.1 (2009/08/08) LASTGAMENNM追加

    - #### removeAttribute

          public void removeAttribute(String key,
                             boolean save)

      UserInfoの属性文字列を削除します。
      パラメータ:
        `key` - キー
        `save` - ユーザー永続化情報(GE20)から情報を削除するか

    - #### setGUIMap

          public void setGUIMap(Map<String,GUIInfo> newGuiMap,
                       Set<String> newForbidAddrSet)

      ユーザー個別の画面オブジェクトのマップをセットします。
      パラメータ:
        `newGuiMap` - 画面オブジェクトのマップ
        `newForbidAddrSet` - アクセス禁止アドレスセット
      変更履歴:

        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
        4.0.0.0 (2005/01/31) 新規追加
        4.1.1.0 (2008/01/29) 画面の格上げとお気に入りマップ作成はクラスUserAccessTableに依頼
        5.2.0.0 (2010/09/01) アクセス禁止アドレスによる不正アクセス防止機能追加

    - #### getGUIInfo

          public GUIInfo getGUIInfo(String gamenId)

      ユーザー個別の画面オブジェクトを取得します。 アクセスできない画面IDが指定されたときは、null が返ります。
      パラメータ:
        `gamenId` - 画面ID
      戻り値:
        画面オブジェクト
      変更履歴:

        4.0.0.0 (2005/01/31) 新規追加
        5.2.0.0 (2010/09/01) guiMap の null 判定を追加

    - #### getGUIInfos

          public GUIInfo[] getGUIInfos()

      ユーザー個別の画面オブジェクトのマップを取得します。
      戻り値:
        画面オブジェクトの配列
      変更履歴:

        4.0.0.0 (2005/01/31) 新規追加
        5.2.0.0 (2010/09/01) guiMap の null 判定を追加

    - #### isValidAddr

          public boolean isValidAddr(String addr)

      アクセスが許可されているアドレスかどうかをチェックします。 チェックの方法は、ブラックリスト方式です。 画面リソースに登録された一覧の内、そのユーザーが許可されていないアドレスに 対してのみfalseが返ります。 画面リソースに登録されていないアドレスや、アドレスにURLの区切り文字(/)が 含まれている場合はチェックされません。(trueが返ります)
      パラメータ:
        `addr` - チェック対象のアドレス
      戻り値:
        アクセスが許可されているアドレスかどうか
      変更履歴:

        5.2.0.0 (2010/09/01) 新規追加

    - #### getFavoriteMap

          public Map<String,FavoriteGUIData> getFavoriteMap()

      ユーザー個別のお気に入り画面オブジェクトのマップを取得します。
      戻り値:
        お気に入り画面オブジェクトのマップ
      変更履歴:

        4.1.1.0 (2008/01/31) 新規追加

    - #### isGUIInfoSet

          public boolean isGUIInfoSet()

      画面オブジェクトのマップがセット済みかどうかを取得します。
      戻り値:
        画面オブジェクトのマップがセット済みかどうか(true:セット済み / false:未セット)
      変更履歴:

        4.0.0.0 (2005/01/31) 新規追加

    - #### getAccessBitMode

          public byte getAccessBitMode(RoleMode other)

      指定のユーザーロールに対する最終的なアクセス条件を取得します。 アクセス条件は、複数あるユーザーロールの中で、最大のアクセス条件を算出します。 例えば、AAA(-r)|BBB(-w)|CCC(mr) の３つのロール/モードが設定されている場合、 ユーザーが、AAA だけの場合は、-r ですが、AAA|BBB を持っている場合は、-w になります。 さらに、BBB|CCC と持っている場合は、(-w:書き込み許可)と(mr:メニューから読取許可)の 権限により、mw:メニューからの書き込み許可が与えられます。 モード指定がある場合は、AND演算になります。 例えば、AAA(-r)|BBB(-w)|CCC(mr) と BBB|CCC(-r) の場合、(-r)+(-w)+(mr)*(-r)=-w に なります。ロールは、OR ですが、モードは、同一ロールでのAND になります。 実際には、メニュー表示の可否は、ポップアップ系によく用いられますので、上記のような 許可が実際にあるかどうかは不明ですが、すべてのモードのOR条件での結合になります。
      パラメータ:
        `other` - ロールモード
      戻り値:
        アクセスビット
      変更履歴:

        4.3.0.0 (2008/07/04) ロールモードマルチ対応

    - #### isAccess

          public boolean isAccess(String role)

      このユーザーの権限で、指定のロールが許可されているかどうかを判定します。
      パラメータ:
        `role` - チェックを行うロール
      戻り値:
        アクセスできる(true)/出来ない(false)
      変更履歴:

        4.3.0.0 (2008/07/04) ロールモードマルチ対応
        4.3.0.1 (2008/08/11) ロールチェック時の引数間違い、是正

    - #### clear

          public void clear()

      初期化(クリア)します(org.opengion.fukurou.util.Cleanable の実装)。 画面オブジェクトのマップをクリアし、セット済みフラグを未セットに設定します。 システムリソースの USE_ACCESS_TOKEI_TABLE が true の場合は、 画面アクセス状況を、ｱｸｾｽ統計ﾃｰﾌﾞﾙ(GE15)に書き込みます。 ユーザー単位のパラメータは、システムリソースの USER_PARAMETER_SQL で 定義された値を検索して、取り込みます。
      定義:
        `clear` インタフェース内 `Cleanable`
      変更履歴:

        3.8.7.0 (2006/12/15) アクセスログ取得の為,ApplicationInfoオブジェクトを設定
        4.0.0.0 (2005/01/31) 新規追加
        5.6.8.1 (2013/09/13) lastRequestMap を ユーザー永続化情報(GE20) に書き込みます。

    - #### getEditConfigs

          public DBEditConfig[] getEditConfigs(String guikey)

      引数の画面で登録されているエディット設定を配列で返します。 返される配列は、エディット名順にソートされた状態で返されます。
      パラメータ:
        `guikey` - 画面ID
      戻り値:
        エディット設定(配列)
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加

    - #### getEditConfig

          public DBEditConfig getEditConfig(String guikey,
                                   String editName)

      画面ID、エディット名よりエディット設定オブジェクトを返します。 また、ここで指定されたエディット名がこの画面での選択済みエディットとして登録されます。
      パラメータ:
        `guikey` - 画面ID
        `editName` - エディット名
      戻り値:
        エディット配列
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加

    - #### addEditConfig

          public void addEditConfig(String guikey,
                           String editName,
                           DBEditConfig config)

      指定の画面ID、エディット名でエディット設定オブジェクトを追加します。 既に登録されている場合は、既存のエディット情報を更新します。
      パラメータ:
        `guikey` - 画面ID
        `editName` - エディット名
        `config` - エディット設定オブジェクト
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加
        5.7.1.2 (2013/12/20) msg ⇒ errMsg 変更

    - #### deleteEditConfig

          public void deleteEditConfig(String guikey,
                              String editName)

      指定の画面ID、エディット名のエディット設定を削除します。
      パラメータ:
        `guikey` - 画面ID
        `editName` - エディット名
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加
        5.7.1.2 (2013/12/20) msg ⇒ errMsg 変更

    - #### setSelectedEdit

          public void setSelectedEdit(String guikey,
                             String editName)

      指定の画面IDに対して選択済みのエディット名を登録します。 なお、メモリやDBへの書き込みを考慮し、editName が null か、 ゼロ文字列 の場合は、登録しません。
      パラメータ:
        `guikey` - 画面ID
        `editName` - エディット名
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加
        5.7.2.2 (2014/01/24) 引数の editName が null か、ゼロ文字列 の場合は、登録しません。

    - #### getSelectedEdit

          public String getSelectedEdit(String guikey)

      指定の画面IDに対して選択済みのエディット名を返します。
      パラメータ:
        `guikey` - 画面ID
      戻り値:
        選択済みエディット名
      変更履歴:

        5.3.6.0 (2011/06/01) 新規追加

    - #### setLastRequestMap

          public void setLastRequestMap(Map<String,String[]> reqMap)

      最後に使用されたリクエスト変数の値を、Mapを読み取って登録します。 読み取り対象は、先に lastRequestMap に登録済みのキーだけです。 そのため、{@LAST.XXXX} で値を要求されたときに、キーが 登録されていない場合は、キーだけ(値 nullで)登録しておきます。
      パラメータ:
        `reqMap` - リクエスト変数のMap
      変更履歴:

        5.6.8.1 (2013/09/13) 新規追加

    - #### setLastRequestValue

          public void setLastRequestValue(String key,
                                 String val)

      最後に使用されたリクエスト変数の値を、設定します。 この処理は、{@LAST.XXXX} は、リクエスト値があれば、それが優先的に 使われます。
      パラメータ:
        `key` - リクエストキー
        `val` - 設定値
      変更履歴:

        5.6.8.1 (2013/09/13) 新規追加

    - #### getLastRequestValue

          public String getLastRequestValue(String key)

      最後に使用されたリクエスト変数の値を、取得します。 画面で簡素に使用できるように、少し特殊な処理を行います。 query 画面で {@LAST.XXXX} を呼ぶと、lastRequestMap にキーがなければ、 キーだけ先に追加します。あれば、値を取得するだけです。 そして、result画面で command="NEW" の場合のみ、リクエスト情報のMapから、 lastRequestMap に持っているキーで(NULLでない場合は)上書きセットします。 キャッシュ量を減らすことと、処理の対象キーを減らす意味を持っています。
      パラメータ:
        `key` - リクエストキー
      戻り値:
        設定値
      変更履歴:

        5.6.8.1 (2013/09/13) 新規追加

    - #### getApplicationInfo

          public ApplicationInfo getApplicationInfo(String gamenId,
                                           String prgId)

      アクセスログ取得の為,ApplicationInfoオブジェクトを返します。
      パラメータ:
        `gamenId` - 実行中の画面ID
        `prgId` - 実行中のプログラムID
      戻り値:
        ApplicationInfoオブジェクト
      変更履歴:

        3.8.7.0 (2006/12/15) 新規追加

    - #### compareTo

          public int compareTo(UserSummary object)

      自然比較メソッド インタフェース Comparable の 実装です。 ユーザーの順序は、ユーザーID そのものの順序であらわされます。 同一ユーザーの場合は，ログインタイムの順番になります。
      定義:
        `compareTo` インタフェース内 `Comparable<UserSummary>`
      定義:
        `compareTo` インタフェース内 `UserSummary`
      パラメータ:
        `object` - 比較対象のObject
      戻り値:
        このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
      変更履歴:

        5.1.8.0 (2010/07/01) UserSummary の Comparable を型設定

    - #### equals

          public boolean equals(Object object)

      このオブジェクトと他のオブジェクトが等しいかどうかを示します。 インタフェース Comparable の 実装に関連して、再定義しています。 ユーザーは、ユーザーIDが等しく、かつ ログイン時刻が同一の場合に、 等しいと判断されます。
      オーバーライド:
        `equals` クラス内 `Object`
      パラメータ:
        `object` - 比較対象の参照オブジェクト
      戻り値:
        引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false

    - #### hashCode

          public int hashCode()

      オブジェクトのハッシュコード値を返します。 このメソッドは、java.util.Hashtable によって提供されるような ハッシュテーブルで使用するために用意されています。 equals( Object ) メソッドをオーバーライトした場合は、hashCode() メソッドも 必ず 記述する必要があります。 ここでは、ログイン時刻(long 値)の上位 32 ビットと下位 32 ビットの排他的論理和 を求めています。 (int)(this.longValue()^(this.longValue()>>>32)) ※ hashCode の 同一オブジェクトには同一ハッシュコードという規則と 発生頻度,ランダム性を考慮すれば、ログイン時刻そのもの(long)の ハッシュコードでも運用上は全く問題ないと考えられます。
      オーバーライド:
        `hashCode` クラス内 `Object`
      戻り値:
        このオブジェクトのハッシュコード値
      変更履歴:

        3.5.6.0 (2004/06/18) 新規追加

    - #### toString

          public String toString()

      オブジェクトの識別子として，詳細なユーザー情報を返します。
      オーバーライド:
        `toString` クラス内 `Object`
      戻り値:
        詳細なユーザー情報

    - #### getDataCondition

          public String getDataCondition(String clm)

      指定されたカラムキーに対応するデータの条件式を返します。
      パラメータ:
        `clm` - カラム名
      戻り値:
        データの条件式
      変更履歴:

        4.4.0.0 (2009/08/02) 新規追加

    - #### setAccessGui

          public void setAccessGui(GUIInfo guiInfo)

      このユーザーでアクセスされた画面オブジェクトを設定します。 これは、画面アクセスの履歴(順番)を管理する機能に使います。
      パラメータ:
        `guiInfo` - 画面オブジェクト
      変更履歴:

        5.2.3.0 (2010/12/01) 新規追加

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.