クラス GUIInfo
java.lang.Object
org.opengion.hayabusa.resource.GUIInfo
- すべての実装されたインタフェース:
Comparable<GUIInfo>
画面情報の取得の為のインターフェースです。
{@GUI.XXXX} で、XXXX 部に、GUIInfo オブジェクトで定義されている
属性情報を取り出すことが出来ます。
・KEY 画面ID
・ADDRESS 実行アドレス
・REALADDRESS 実行実アドレス
・SEQUENCE 表示順
・GROUPS メニュグループ
・CLASSIFY メニュ分類
・LEVEL メニュ階層番号
・LABEL 画面名称
・NAME 画面名称(=SNAME)
・SNAME 画面名称(short)
・LNAME 画面名称(long)
・ROLES ロールズ
・MODE アクセスモード列(mr,mw,-r,-w の羅列)
・TARGET ターゲット
・PARAM 設定値(パラメータ)
・KBLINK リンク区分
・DESCRIPTION 概要説明
・IMAGEKEY イメージキー
・DYUPD 更新日時
・ISREAD 読取り許可[true/false]
・ISWRITE 書込み許可[true/false]
- 機能分類
- リソース管理
- 導入されたバージョン:
- JDK5.0,
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
この画面へのアクセス回数を、+1します。void
エラー発生時の件数を+1します。void
addReadCount
(int cnt, long time, String query) データベース検索した数と、掛かった時間(ms)を、セットします。void
addWriteCount
(int cnt, long time, String query) データベース登録した数と、掛かった時間(ms)を、セットします。int
自然比較メソッド インタフェース Comparable の 実装に関連して、再定義しています。boolean
このオブジェクトと他のオブジェクトが等しいかどうかを示します。実行アドレス情報を取得します。getAttribute
(String key) GUIInfoの属性文字列を取得します。byte
指定のユーザーロールに対するビット条件を取得します。画面情報 メニュ分類のオリジナルキー を取得します。概要説明属性を取得します。getDyupd()
更新日時を取得します。GUIInfoの属性文字列の内部情報を返します。画面情報 メニュグループのオリジナルキー を取得します。この画面のアクセス統計オブジェクトを取得します。イメージアイコンのキーを返します。リンク区分属性を取得します。getKey()
画面情報 画面ID を取得します。getLabel()
画面情報 画面名称 を取得します。int
getLevel()
画面の階層番号(レベル)を取得します。画面情報 画面名称(long) を取得します。getMode()
アクセスモードを取得します。getName()
画面情報 画面名称(short) を取得します。getName
(boolean flag) 画面情報 画面名称を、指定のフラグに応じて取得します。String[]
この画面の次にアクセスされた画面IDの文字列配列で取得します。この画面の次にアクセスされた画面IDのCSV文字列を取得します。getParam()
画面を表示する時のパラメータ属性を取得します。トップからの実行アドレス情報を取得します。getRealAddress
(String page) トップからの実行アドレス情報を取得します。ロールモード情報を取得します。getRoles()
画面情報 ロール を取得します。int
画面の表示順を取得します。画面を表示する時のターゲット属性を取得します。int
hashCode()
オブジェクトのハッシュコード値を返します。boolean
指定の文字列がグループに含まれているかどうかを判定します。boolean
ボタンメニューにプルダウンを指定するのかをチェックします。boolean
isRead()
リードアクセス(読取り許可)の 可否を チェックします。boolean
isWrite()
ライトアクセス(書込み許可)の 可否を チェックします。void
画面の階層番号(レベル)をアップします。void
setNextGuiKey
(String guiKey) この画面の次にアクセスされた画面IDをセットします。toString()
オブジェクトの識別子として、詳細な画面情報を返します。
-
コンストラクタの詳細
-
GUIInfo
コンストラクター 引数の bitMode は、UserInfo と加味済み。- パラメータ:
guiData
- 画面データオブジェクトIDlabelData
- ラベルデータオブジェクトbitMode
- ビットモード配列 "--:000","-r:001","-w:010","mr:101","mw:110" に対応した数字(0,1,2,5,6)- 変更履歴:
- 4.3.0.0 (2008/07/04) ファイル入出力制御追加, 4.3.3.0 (2008/10/01) 強制プルダウンモード追加, 8.4.0.0 (2023/01/31) RoleMode でthrow しても、インスタンスは生成する
-
-
メソッドの詳細
-
getKey
画面情報 画面ID を取得します。- 戻り値:
- 画面ID
-
getAddress
実行アドレス情報を取得します。- 戻り値:
- 実行アドレス
-
getRealAddress
トップからの実行アドレス情報を取得します。 コンテキスト名とリンク区分属性を利用して、サーバートップからのアドレスを 返します。ただし、GUIリソースに、http://~ または、.~ から始まるアドレスは そのまま、なにも変換せずに返します。 実アドレスには、param属性の情報を付加します。param属性は、接続文字を用いずに そのまま連結されますので、/index.jsp?AAA=XX&BBB=YY という感じで "/" から はじめます。 http://AAAA ⇒ http://AAAA ../../AAAA/ ⇒ ../../AAAA/ AAAA ⇒ /CONTEXT_NAME/KBLINK/AAAA/ param なし AAAA ⇒ /CONTEXT_NAME/KBLINK/AAAA/index.jsp?AAA=XX&BBB=YY param あり- 戻り値:
- 実行実アドレス
- 変更履歴:
- 3.5.5.0 (2004/03/12) 新規追加, 4.0.0.0 (2005/01/31) param属性追加
-
getRealAddress
トップからの実行アドレス情報を取得します。 コンテキスト名とリンク区分属性を利用して、サーバートップからのアドレスを 返します。ただし、GUIリソースに、http://~ または、.~ から始まるアドレスは そのまま、なにも変換せずに返します。 実アドレスには、param属性の情報を付加します。param属性は、接続文字を用いずに そのまま連結されますので、/index.jsp?AAA=XX&BBB=YY という感じで "/" から はじめます。 また、アドレスの最後がスラッシュ(/)で終了している場合は、page属性を追加します。 http://AAAA ⇒ http://AAAA ../../AAAA/ ⇒ ../../AAAA/ AAAA ⇒ /CONTEXT_NAME/KBLINK/AAAA/ param なし AAAA ⇒ /CONTEXT_NAME/KBLINK/AAAA/index.jsp?AAA=XX&BBB=YY param あり- パラメータ:
page
- 実行ページ(index.jsp など)- 戻り値:
- 実行実アドレス
- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加(param属性追加)
-
getSequence
画面の表示順を取得します。- 戻り値:
- 画面の表示順
-
getLevel
画面の階層番号(レベル)を取得します。 画面階層は、 0:予約階層(将来的にタブブラウザ対応時に使用 1:トップ階層(通常のメニューの分類として表示されます。) 2:選択階層(通常の折りたたみメニューの画面選択時に使用されます。) 3以下:下位階層(通常の選択メニューとして、1段下げて表示されます。) です。 なお、これらの意味は、実際にメニューを作成/表示するクラスに依存します。- 戻り値:
- 画面の表示順
-
setLevelUp
画面の階層番号(レベル)をアップします。 これは、レベルが3の場合(階層時の隠しメニュー)をレベル2に することで、常に見えているメニューに格上げします。 具体的には、設定値が隠しメニューの場合に、アクセスするとレベル2へ格上げ することで、個人単位で、過去の履歴に応じたメニュー配置が可能になります。 -
getGroups
画面情報 メニュグループのオリジナルキー を取得します。 メニュグループは、CSV形式で複数登録できます。- 戻り値:
- メニュ分類のキー
-
isGroupIn
指定の文字列がグループに含まれているかどうかを判定します。 メニュグループは、CSV形式で複数登録できますので、そのうちの どれかに含まれていれば、true を返します。 このメニューそのものに、グループが指定されていない場合は、 デフォルトグループという扱いで、true を返します。 引数が、null または、ゼロ文字列の場合も、同様に、true を返します。- パラメータ:
group
- 判定するグループ- 戻り値:
- グループに含まれているかどうか
-
getClassify
画面情報 メニュ分類のオリジナルキー を取得します。- 戻り値:
- メニュ分類のキー
-
getLabel
画面情報 画面名称 を取得します。 これは、加工前のラベルリソースに登録されている値です。- 戻り値:
- 画面名称
-
getName
画面情報 画面名称を、指定のフラグに応じて取得します。 true の場合、#getLongName() を、falseの場合、#getName() を 返します。 この名称は、チップ表示付きの文字列を返します。- パラメータ:
flag
- true:名前(長) / false:名前(短)- 戻り値:
- 画面名称(short)
- 変更履歴:
- 8.2.1.0 (2022/07/15) 新規追加
-
getName
画面情報 画面名称(short) を取得します。 この名称は、チップ表示付きの文字列を返します。- 戻り値:
- 画面名称(short)
-
getLongName
画面情報 画面名称(long) を取得します。 この名称は、チップ表示付きの文字列を返します。- 戻り値:
- 画面名称(long)
-
getRoles
画面情報 ロール を取得します。 ロールは、AAA|BBB|CCC と『|』の区切り文字で複数登録できます。 ユーザーのロール(こちらも、XXX|YYY|AAAと複数登録可能)とマッチする ロールがあれば、その画面のアクセス許可があります。 読み書きと、メニュー表示は、アクセスモードで指定します。- 戻り値:
- ロール
-
getMode
アクセスモードを取得します。 r,w,_ を各ロール毎に設定します。 mr:メニューよりアクセスできる読取専用画面です。登録ボタンは表示されません。 mw:メニューよりアクセスできる登録編集画面です。表示もします。 -r:メニューに現れませんが、アクセスすることは可能です。読取専用。 -w:メニューに現れませんが、アクセスすることは可能です。読み書き出来ます。 この2文字ずつのセットが、各ロールに対応付けられたアクセス制御になります。 ロールが、AAA|BBB|CCC|DDD で、モードが mw|mr|-r|-w であれば、 AAA は、mw , BBB は、mr ,CCC は、-r ,DDD は -w と設定されたことになります。 特別に、2文字のみ登録された場合は、全ロールが同一モードに設定 されたとみなします。- 戻り値:
- ロール毎のアクセスモード列(mr,mw,-r,-w の羅列)
-
getTarget
画面を表示する時のターゲット属性を取得します。- 戻り値:
- ターゲット
-
getParam
画面を表示する時のパラメータ属性を取得します。- 戻り値:
- パラメータ
-
getKblink
リンク区分属性を取得します。- 戻り値:
- リンク区分
- 変更履歴:
- 3.4.0.0 (2003/09/01) リンク区分(KBLINK)属性を追加。
-
getDescription
概要説明属性を取得します。 概要説明が設定されていない場合は、longName を返します。- 戻り値:
- 概要説明
- 変更履歴:
- 3.5.6.5 (2004/08/09) 概要説明(DESCRIPTION)属性を追加。
-
getDyupd
更新日時を取得します。- 戻り値:
- 更新日時
- 変更履歴:
- 5.3.3.0 (2011/03/01) 新規作成
-
getImageKey
イメージアイコンのキーを返します。 画面にアイコンを追加する場合、jsp/menuImage フォルダに、画面ID と同じ名称の 画像ファイルを置く必要があります。 ※ 6.3.8.4 (2015/10/09) 従来は、PARAM 属性に、IMAGE_KEY=XXXX と指定していましたが、 KBLINK(リンク区分) を使用するように変更しました。- 戻り値:
- イメージアイコンのキー
- 変更履歴:
- 5.5.2.5 (2012/05/21) 新規追加, 6.3.8.4 (2015/10/09) KBLINK(リンク区分)を画面のイメージファイルに割り当てます。
-
getRoleMode
ロールモード情報を取得します。- 戻り値:
- ロールモード
- 変更履歴:
- 4.3.0.0 (2008/07/04) 新規追加
-
isRead
リードアクセス(読取り許可)の 可否を チェックします。 アクセスチェックは、画面のロールをユーザーの それと比較して条件が含まれているかどうかを確認します。 条件が null (または0ストリング)の場合は、true となります。 条件の判断は、AND 条件です。 さらに、その他の条件部分を判断して、OR 条件で先の結果と突き合わせます。 ユーザーのロールが "root" の場合は、rw 属性のみのチェックで判断します。- 戻り値:
- アクセスOK:true アクセス拒否:false
- 変更履歴:
- 3.5.4.0 (2003/11/25) 引数にロールズを渡します。
-
isWrite
ライトアクセス(書込み許可)の 可否を チェックします。 アクセスチェックは、画面のロールをユーザーの それと比較して条件が含まれているかどうかを確認します。 条件が null (または0ストリング)の場合は、true となります。 条件の判断は、AND 条件です。 さらに、その他の条件部分を判断して、OR 条件で先の結果と突き合わせます。 ユーザーのロールが "root" の場合は、rw 属性のみのチェックで判断します。- 戻り値:
- アクセスOK:true アクセス拒否:false
- 変更履歴:
- 3.5.4.0 (2003/11/25) 引数にロールズを渡します。
-
isPulldown
ボタンメニューにプルダウンを指定するのかをチェックします。- 戻り値:
- プルダウン化の場合true
- 変更履歴:
- 4.3.3.0 (2008/10/01) 新規作成
-
getBitMode
指定のユーザーロールに対するビット条件を取得します。 この bitMode は、すでにユーザー単位に作成された値です。- 戻り値:
- アクセスビット
- 変更履歴:
- 4.3.0.0 (2008/07/04) ロールモードマルチ対応
-
getAttribute
GUIInfoの属性文字列を取得します。 ・KEY 画面ID ・ADDRESS 実行アドレス ・REALADDRESS 実行実アドレス ・SEQUENCE 表示順 ・GROUPS メニュグループ ・CLASSIFY メニュ分類 ・LEVEL メニュ階層番号 ・LABEL 画面名称 ・NAME 画面名称(=SNAME) ・SNAME 画面名称(short) ・LNAME 画面名称(long) ・ROLES ロール ・MODE アクセスモード列(mr,mw,-r,-w の羅列) ・TARGET ターゲット ・PARAM 設定値(パラメータ) ・KBLINK リンク区分 ・DESCRIPTION 概要説明 ・IMAGEKEY イメージキー ・DYUPD 更新日時 ・ISREAD 読取り許可[true/false] ・ISWRITE 書込み許可[true/false]- パラメータ:
key
- キー- 戻り値:
- 属性文字列の値
- 変更履歴:
- 3.4.0.0 (2003/09/01) リンク区分(KBLINK)属性を追加。, 3.5.5.0 (2004/03/12) 実行実アドレス(REALADDRESS)属性を追加。, 3.5.6.5 (2004/08/09) 概要説明(DESCRIPTION)属性を追加。, 4.0.0.0 (2005/11/30) ISREAD,ISWRITE 属性を追加。, 5.3.3.0 (2011/03/01) 更新日時を追加, 5.5.2.5 (2012/05/21) IMAGEKEY 追加, 5.6.4.3 (2013/05/25) FAQ追加, 6.3.8.4 (2015/10/09) GE80(FAQテーブル)の取得は廃止。(helpタグで行う), 6.4.1.1 (2016/01/16) PMD refactoring. Position literals first in String comparisons for EqualsIgnoreCase.
-
getEntrys
GUIInfoの属性文字列の内部情報を返します。 この内部情報の中には、getAttribute( String ) で取得できる管理情報です。- 戻り値:
- 属性文字列のHybsEntryオブジェクト配列
- 変更履歴:
- 4.0.0.0 (2004/12/31) 新規作成, 5.3.3.0 (2011/03/01) 更新日時を追加, 5.5.2.5 (2012/05/21) IMAGEKEY 追加
- このメソッドは、nullを返しません
-
addReadCount
データベース検索した数と、掛かった時間(ms)を、セットします。 これは、セキュリティ上の監視フラグで、不必要に、大量の データが検索された場合や、不正なデータアクセスがあるかどうかを 監視するための統計情報を取得します。 画面オブジェクトは、各ユーザー毎に作成されているため、個々の ユーザー毎/画面毎のアクセス状況を見ることが可能になります。- パラメータ:
cnt
- データベース検索した数time
- データベース検索した数query
- そのときのSQL文- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
-
addWriteCount
データベース登録した数と、掛かった時間(ms)を、セットします。 これは、セキュリティ上の監視フラグで、不必要に、大量の データが登録された場合や、不正なデータアクセスがあるかどうかを 監視するための統計情報を取得します。 画面オブジェクトは、各ユーザー毎に作成されているため、個々の ユーザー毎/画面毎のアクセス状況を見ることが可能になります。- パラメータ:
cnt
- データベース登録した数time
- データベース検索した数query
- そのときのSQL文- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
-
addAccessCount
この画面へのアクセス回数を、+1します。 アクセス回数は、このメソッドの呼び出し回数のことです。 現状では、result.jsp 画面でセットすることで、アクセス数を 数えることにします。- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
-
addErrorCount
エラー発生時の件数を+1します。 これは、エラー発生時に呼び出すことで、エラー件数をチェックすることが 可能になります。 一般にエラーには、予期するエラー(必須入力登録漏れ等)と、予期しないエラー がありますが、ここでは、Java の Exceptionが発生する予期しないエラーの 件数をカウントします。- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
-
getGUIAccessCount
この画面のアクセス統計オブジェクトを取得します。- 戻り値:
- アクセス統計オブジェクト
- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
-
setNextGuiKey
この画面の次にアクセスされた画面IDをセットします。 これは、画面アクセスの履歴(順番)を管理する機能を提供します。 自分自身の次にアクセスされる画面IDの集合を管理することで QUERY画面上部のショートカットリンクに、次に使用する画面の リンクを用意することが可能になります。- パラメータ:
guiKey
- この画面の次にアクセスされた画面ID- 変更履歴:
- 5.2.3.0 (2010/12/01) アクセス履歴管理, 6.8.4.2 (2017/12/25) nextGui を、後入れ先出しに変更します。
-
getNextGuiKeys
この画面の次にアクセスされた画面IDのCSV文字列を取得します。 これは、画面アクセスの履歴(順番)をCSV形式で取り出します。 アクセス履歴を外部記憶媒体に出力する場合に使用します。- 戻り値:
- この画面の次にアクセスされた画面IDのCSV文字列
- 変更履歴:
- 5.2.3.0 (2010/12/01) アクセス履歴管理, 6.4.3.4 (2016/03/11) CSV形式の文字連結を、stream 経由で行います。
- このメソッドは、nullを返しません
-
getNextGuiArray
この画面の次にアクセスされた画面IDの文字列配列で取得します。 これは、画面アクセスの履歴(順番)を文字列配列で取り出します。- 戻り値:
- この画面の次にアクセスされた画面IDの文字列配列
- 変更履歴:
- 5.2.3.0 (2010/12/01) アクセス履歴管理
-
compareTo
自然比較メソッド インタフェース Comparable の 実装に関連して、再定義しています。 登録されたシーケンス(画面の表示順)で比較します。 equals メソッドでは、キーの同一性のみに着目して判定しています。 この比較では、(運用上同一キーは発生しませんが)たとえ同一キーが存在した としても、その比較値が同じになることを保証していません。- 定義:
compareTo
インタフェース内Comparable<GUIInfo>
- パラメータ:
other
- 比較対象のObject- 戻り値:
- このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
- 例外:
ClassCastException
- 引数が GUIInfo ではない場合IllegalArgumentException
- 引数が null の場合
-
equals
このオブジェクトと他のオブジェクトが等しいかどうかを示します。 画面は、画面IDが等しければ、言語や表示順に関係なく同一とみなされます。 GUIInfo は、ユーザー個別に扱われ、そのグループには、key は唯一で、かつ 同一言語内で扱われるオブジェクトの為、同一とみなします。 -
hashCode
オブジェクトのハッシュコード値を返します。 このメソッドは、java.util.Hashtable によって提供されるような ハッシュテーブルで使用するために用意されています。 equals( Object ) メソッドをオーバーライトした場合は、hashCode() メソッドも 必ず 記述する必要があります。 この実装では、getKey().hashCode() と同値を返します。 -
toString
オブジェクトの識別子として、詳細な画面情報を返します。
-