public class UserInfo extends java.lang.Object implements UserSummary, Cleanable
ユーザー情報の取得の為のインターフェースを実装したクラスです。
ログイン時のパスワードのチェックや,国名の識別ID,ポータルページのURLなど
個人情報を管理させます。
特に,画面アクセス時の権限やメールの送信,各画面にユーザー情報を表示したり,
エラー時のログファイル,テンポラリディレクトリなども管理します。
{@USER.XXXX} で、XXXX 部に、UserInfo オブジェクトで定義されている
属性情報を取り出すことが出来ます。
以下の値は UserInfo オブジェクトの項目から取得します。
・JNAME ユーザー日本語名称
・ID ユーザーID
・INFO ユーザー情報(ユーザーID:日本語名称)
・LANG 言語
・ROLES ロール
・IPADDRESS IPアドレス
・LOGINTIME ログイン時刻
・LASTACCESS 最終アクセス画面ID
以下の値はあらかじめ、動的に作成されます。
・YMD 8byte の今日のシステム日付
・YMDH 14byte の今日のシステム日時
それ以外は,外部より設定された値です。
従来は、USER.IDNO はUSER.ID が5Byte以上の時のみ先頭1文字を除いたユーザーIDとして
オブジェクト項目からの取得でしたが、現在は初期値として設定してあります。
外部より再設定可能になっています。| 修飾子とタイプ | フィールドと説明 |
|---|---|
static boolean |
USE_DB_APPLICATION_INFO
コネクションにアプリケーション情報を追記するかどうか指定
|
| コンストラクタと説明 |
|---|
UserInfo(java.lang.String userID,
java.lang.String lang,
java.lang.String jname,
java.lang.String roles,
java.lang.String droles,
java.lang.String systemId,
java.lang.String ipAddress,
ApplicationInfo appInfo)
コンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
void |
addEditConfig(java.lang.String guikey,
java.lang.String editName,
DBEditConfig config)
指定の画面ID、編集名で編集設定オブジェクトを追加します。
|
void |
clear()
初期化(クリア)します(org.opengion.fukurou.util.Cleanable の実装)。
|
int |
compareTo(UserSummary object)
自然比較メソッド
インタフェース Comparable の 実装です。
|
void |
deleteEditConfig(java.lang.String guikey,
java.lang.String editName)
指定の画面ID、編集名の編集設定を削除します。
|
boolean |
equals(java.lang.Object object)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。
|
byte |
getAccessBitMode(RoleMode other)
指定のユーザーロールに対する最終的なアクセス条件を取得します。
|
ApplicationInfo |
getApplicationInfo(java.lang.String gamenId,
java.lang.String prgId)
アクセスログ取得の為,ApplicationInfoオブジェクトを返します。
|
java.lang.String |
getAttribute(java.lang.String key)
UserInfoの属性文字列を取得します。
|
java.lang.String |
getDataCondition(java.lang.String clm)
指定されたカラムキーに対応するデータの条件式を返します。
|
DBEditConfig |
getEditConfig(java.lang.String guikey,
java.lang.String editName)
画面ID、編集名より編集設定オブジェクトを返します。
|
DBEditConfigManager |
getEditConfigManager()
DBEditConfigManagerオブジェクトを返します。
|
HybsEntry[] |
getEntrys()
UserInfoの属性文字列の内部情報を返します。
|
java.util.Map |
getFavoriteMap()
ユーザー個別のお気に入り画面オブジェクトのマップを取得します。
|
GUIInfo |
getGUIInfo(java.lang.String gamenId)
ユーザー個別の画面オブジェクトを取得します。
|
GUIInfo[] |
getGUIInfos()
ユーザー個別の画面オブジェクトのマップを取得します。
|
java.lang.String |
getInfo()
オブジェクトの識別子として,ユーザー情報を返します。
|
java.lang.String |
getIPAddress()
ユーザーのログインIPアドレスを取得します。
|
java.lang.String |
getJname()
ユーザー情報 名称(日本語)を取得します。
|
java.lang.String |
getLang()
ユーザー情報ロケール(言語)を取得します。
|
java.lang.String |
getLastRequestValue(java.lang.String key)
最後に使用されたリクエスト変数の値を、取得します。
|
long |
getLoginTime()
ユーザーログイン時刻を取得します。
|
java.lang.String |
getParameter(java.lang.String key)
ユーザーパラメータを取得します。
|
RoleMode |
getRoleMode()
ロールモード情報を取得します。
|
java.lang.String |
getRoles()
ユーザー情報 ロール(役割)を取得します。
|
java.lang.String |
getSelectedEdit(java.lang.String guikey)
指定の画面IDに対して選択済みの編集名を返します。
|
java.lang.String |
getUserID()
ユーザーを取得します。
|
int |
hashCode()
オブジェクトのハッシュコード値を返します。
|
boolean |
isAccess(java.lang.String role)
このユーザーの権限で、指定のロールが許可されているかどうかを判定します。
|
boolean |
isGUIInfoSet()
画面オブジェクトのマップがセット済みかどうかを取得します。
|
boolean |
isValidAddr(java.lang.String addr)
アクセスが許可されているアドレスかどうかをチェックします。
|
void |
removeAttribute(java.lang.String key,
boolean save)
UserInfoの属性文字列を削除します。
|
void |
savePermanently(java.lang.String key,
java.lang.String value,
boolean isCommon)
userInfoにセットされた値/キーをDBに登録します。
|
void |
setAccessGui(GUIInfo guiInfo)
このユーザーでアクセスされた画面オブジェクトを設定します。
|
void |
setAttribute(java.lang.String key,
java.lang.String value,
boolean save)
UserInfoの属性文字列を登録します。
|
void |
setGUIMap(java.util.Map newGuiMap,
java.util.Set newForbidAddrSet)
ユーザー個別の画面オブジェクトのマップをセットします。
|
void |
setLang(java.lang.String newLang)
ユーザー情報ロケール(言語)をセットします。
|
void |
setLastRequestMap(java.util.Map reqMap)
最後に使用されたリクエスト変数の値を、Mapを読み取って登録します。
|
void |
setLastRequestValue(java.lang.String key,
java.lang.String val)
最後に使用されたリクエスト変数の値を、設定します。
|
java.lang.String |
toString()
オブジェクトの識別子として,詳細なユーザー情報を返します。
|
public static final boolean USE_DB_APPLICATION_INFO
public UserInfo(java.lang.String userID,
java.lang.String lang,
java.lang.String jname,
java.lang.String roles,
java.lang.String droles,
java.lang.String systemId,
java.lang.String ipAddress,
ApplicationInfo appInfo)
userID - ユーザーlang - 言語jname - 日本語名称roles - ロールdroles - データロールsystemId - システムIDipAddress - 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から移動 |
| 6.0.2.2 (2014/10/03) DBEditConfigManager をここで作成する。 |
public java.lang.String getParameter(java.lang.String key)
key - パラメータキー| 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。 |
public long getLoginTime()
getLoginTime インタフェース内 UserSummarypublic java.lang.String getIPAddress()
getIPAddress インタフェース内 UserSummarypublic java.lang.String getUserID()
getUserID インタフェース内 UserSummarypublic java.lang.String getLang()
getLang インタフェース内 UserSummarypublic void setLang(java.lang.String newLang)
newLang - ロケール(言語)| 5.1.4.0 (2010/03/01) lang を書き換え可能とする。 |
public java.lang.String getJname()
getJname インタフェース内 UserSummarypublic java.lang.String getRoles()
getRoles インタフェース内 UserSummarypublic RoleMode getRoleMode()
| 4.3.0.0 (2008/07/04) 新規追加 |
public java.lang.String getInfo()
getInfo インタフェース内 UserSummarypublic DBEditConfigManager getEditConfigManager()
| 6.4.5.0 (2016/04/08) 新規追加。UserInfo オブジェクトから、出来るだけEditConfig関係の処理を除外します。 |
public void setAttribute(java.lang.String key,
java.lang.String value,
boolean save)
key - キーvalue - 値save - ユーザー永続化情報(GE20)に情報を保存するかpublic java.lang.String getAttribute(java.lang.String key)
・JNAME ユーザー日本語名称 ・ID ユーザーID ・IDNO (初期値)USER.ID が5Byte以上の時のみ先頭1文字を除いたユーザーID ・INFO ユーザー情報(ユーザーID:日本語名称) ・LANG 言語 ・ROLES ロール ・IPADDRESS IPアドレス ・LOGINTIME ログイン時刻 ・LASTACCESS 最終アクセス画面ID ・LASTGAMENNM 最終アクセス画面名 以下の値はあらかじめ、動的に作成されます。 ・YMD 8byte の今日のシステム日付 ・YMDH 14byte の今日のシステム日時それ以外は,外部より設定された値です。
getAttribute インタフェース内 UserSummarykey - キーgetAttribute( String )| 2.1.0.2 (2002/11/07) USER.IDNO の返す値をUSER.ID が5Byte以上の時のみ、 先頭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 をattriMap に行います。 |
| 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追加 |
| 6.4.1.1 (2016/01/16) PMD refactoring. Position literals first in String comparisons for EqualsIgnoreCase. |
| 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 |
public HybsEntry[] getEntrys()
| 4.0.0.0 (2004/12/31) 新規作成 |
| 4.4.0.1 (2009/08/08) LASTGAMENNM追加 |
public void removeAttribute(java.lang.String key,
boolean save)
key - キーsave - ユーザー永続化情報(GE20)から情報を削除するかpublic void setGUIMap(java.util.Map newGuiMap,
java.util.Set 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) アクセス禁止アドレスによる不正アクセス防止機能追加 |
| 6.4.3.1 (2016/02/12) Collections.synchronizedMap で同期処理を行います |
public GUIInfo getGUIInfo(java.lang.String gamenId)
gamenId - 画面ID| 4.0.0.0 (2005/01/31) 新規追加 |
| 5.2.0.0 (2010/09/01) guiMap の null 判定を追加 |
| 6.4.1.1 (2016/01/16) 引数の gamenId が、null の場合は、null を返すように変更。 |
| 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。 |
public GUIInfo[] getGUIInfos()
| 4.0.0.0 (2005/01/31) 新規追加 |
| 5.2.0.0 (2010/09/01) guiMap の null 判定を追加 |
| 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。 |
public boolean isValidAddr(java.lang.String addr)
addr - チェック対象のアドレス| 5.2.0.0 (2010/09/01) 新規追加 |
public java.util.Map getFavoriteMap()
| 4.1.1.0 (2008/01/31) 新規追加 |
| 6.4.3.1 (2016/02/12) Collections.unmodifiableMap( Map<? extends K,? extends V> ) で作成された変更不可のMapを返します。 |
public boolean isGUIInfoSet()
| 4.0.0.0 (2005/01/31) 新規追加 |
| 6.4.3.1 (2016/02/12) isInfoSet 廃止。 |
public byte getAccessBitMode(RoleMode other)
other - ロールモード| 4.3.0.0 (2008/07/04) ロールモードマルチ対応 |
public boolean isAccess(java.lang.String role)
role - チェックを行うロール| 4.3.0.0 (2008/07/04) ロールモードマルチ対応 |
| 4.3.0.1 (2008/08/11) ロールチェック時の引数間違い、是正 |
| 6.3.6.1 (2015/08/28) '_' を、null と同等に扱います(すべて許可と同じ) |
public void clear()
public DBEditConfig getEditConfig(java.lang.String guikey, java.lang.String editName)
guikey - 画面IDeditName - 編集名| 5.3.6.0 (2011/06/01) 新規追加 |
| 6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。 |
public void addEditConfig(java.lang.String guikey,
java.lang.String editName,
DBEditConfig config)
guikey - 画面IDeditName - 編集名config - 編集設定オブジェクト| 5.3.6.0 (2011/06/01) 新規追加 |
| 5.7.1.2 (2013/12/20) msg ⇒ errMsg 変更 |
| 6.0.2.2 (2014/10/03) getEditKeys(String,String) を、DBEditConfig ⇒ DBEditConfigManager 変更 |
| 6.3.9.1 (2015/11/27) getEditKeys(String,String) は、DBEditConfigManager ⇒ DBEditConfig へ移動。 |
| 6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。廃止 |
public void deleteEditConfig(java.lang.String guikey,
java.lang.String editName)
guikey - 画面IDeditName - 編集名| 5.3.6.0 (2011/06/01) 新規追加 |
| 5.7.1.2 (2013/12/20) msg ⇒ errMsg 変更 |
| 6.0.2.2 (2014/10/03) getEditKeys( String, String ) を、DBEditConfig ⇒ DBEditConfigManager 変更 |
| 6.3.9.1 (2015/11/27) getEditKeys(String,String) は、DBEditConfigManager ⇒ DBEditConfig へ移動。 |
| 6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。廃止 |
public java.lang.String getSelectedEdit(java.lang.String guikey)
guikey - 画面ID| 5.3.6.0 (2011/06/01) 新規追加 |
| 6.0.2.2 (2014/10/03) EDIT_NAME_SELECTED_ を、EDIT_SELECTED_ に変更 |
| 6.4.5.0 (2016/04/08) UserInfo のEditConfig関連機能を、DBEditConfigManagerに移植します。廃止 |
public void setLastRequestMap(java.util.Map reqMap)
reqMap - リクエスト変数のMap| 5.6.8.1 (2013/09/13) 新規追加 |
public void setLastRequestValue(java.lang.String key,
java.lang.String val)
key - リクエストキーval - 設定値| 5.6.8.1 (2013/09/13) 新規追加 |
public java.lang.String getLastRequestValue(java.lang.String key)
key - リクエストキー| 5.6.8.1 (2013/09/13) 新規追加 |
public ApplicationInfo getApplicationInfo(java.lang.String gamenId, java.lang.String prgId)
gamenId - 実行中の画面IDprgId - 実行中のプログラムID| 3.8.7.0 (2006/12/15) 新規追加 |
public int compareTo(UserSummary object)
compareTo インタフェース内 java.lang.Comparableobject - 比較対象のObject| 5.1.8.0 (2010/07/01) UserSummary の Comparable を型設定 |
public boolean equals(java.lang.Object object)
equals クラス内 java.lang.Objectobject - 比較対象の参照オブジェクトpublic int hashCode()
hashCode クラス内 java.lang.Object| 3.5.6.0 (2004/06/18) 新規追加 |
public java.lang.String toString()
toString クラス内 java.lang.Objectpublic void savePermanently(java.lang.String key,
java.lang.String value,
boolean isCommon)
key - キーvalue - 値isCommon - ユーザーID='*'(全ユーザー公開)として登録するかどうか| 5.3.6.0 (2011/06/01) 全ユーザー情報として保存できるように対応 |
| 5.5.5.1 (2012/08/07) リソース系DBID 付け忘れ対策 |
| 6.4.2.0 (2016/01/29) DateSet.getDate( String ) を利用するように修正します。 |
| 6.4.5.0 (2016/04/08) DBEditConfigManager で使えるように、private → public にします(ちょっと不安)。 |
public java.lang.String getDataCondition(java.lang.String clm)
clm - カラム名| 4.4.0.0 (2009/08/02) 新規追加 |
public void setAccessGui(GUIInfo guiInfo)
guiInfo - 画面オブジェクト| 5.2.3.0 (2010/12/01) 新規追加 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.