openGionopenGion
5.3.6.0

org.opengion.hayabusa.resource
クラス GUIInfo

java.lang.Object
  上位を拡張 org.opengion.hayabusa.resource.GUIInfo
すべての実装されたインタフェース:
java.lang.Comparable<GUIInfo>

public final class GUIInfo
extends java.lang.Object
implements java.lang.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 概要説明

機能階層
リソース管理
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
GUIInfo(GUIData guiData, LabelData labelData, byte bitMode)
          コンストラクター 引数の bitMode は、UserInfo と加味済み
 
メソッドの概要
 void addAccessCount()
          この画面へのアクセス回数を、+1します。
 void addErrorCount()
          エラー発生時の件数を+1します。
 void addReadCount(int cnt, long time, java.lang.String query)
          データベース検索した数と、掛かった時間(ms)を、セットします。
 void addWriteCount(int cnt, long time, java.lang.String query)
          データベース登録した数と、掛かった時間(ms)を、セットします。
 int compareTo(GUIInfo other)
          自然比較メソッド インタフェース Comparable の 実装に関連して、再定義しています。
 boolean equals(java.lang.Object object)
          このオブジェクトと他のオブジェクトが等しいかどうかを示します。
 java.lang.String getAddress()
          実行アドレス情報を取得します。
 java.lang.String getAttribute(java.lang.String key)
          GUIInfoの属性文字列を取得します。
 byte getBitMode()
          指定のユーザーロールに対するビット条件を取得します。
 java.lang.String getClassify()
          画面情報 メニュ分類のオリジナルキー を取得します。
 java.lang.String getDescription()
          概要説明属性を取得します。
 java.lang.String getDyupd()
          更新日時を取得します。
 HybsEntry[] getEntrys()
          GUIInfoの属性文字列の内部情報を返します。
 java.lang.String getGroups()
          画面情報 メニュグループのオリジナルキー を取得します。
 GUIAccessCount getGUIAccessCount()
          この画面のアクセス統計オブジェクトを取得します。
 java.lang.String getKblink()
          リンク区分属性を取得します。
 java.lang.String getKey()
          画面情報 画面ID を取得します。
 java.lang.String getLabel()
          画面情報 画面名称 を取得します。
 int getLevel()
          画面の階層番号(レベル)を取得します。
 java.lang.String getLongName()
          画面情報 画面名称(long) を取得します。
 java.lang.String getMode()
          アクセスモードを取得します。
 java.lang.String getName()
          画面情報 画面名称(short) を取得します。
 java.lang.String[] getNextGuiArray()
          この画面の次にアクセスされた画面IDの文字列配列で取得します。
 java.lang.String getNextGuiKeys()
          この画面の次にアクセスされた画面IDのCSV文字列を取得します。
 java.lang.String getParam()
          画面を表示する時のパラメータ属性を取得します。
 java.lang.String getRealAddress()
          トップからの実行アドレス情報を取得します。
 java.lang.String getRealAddress(java.lang.String page)
          トップからの実行アドレス情報を取得します。
 RoleMode getRoleMode()
          ロールモード情報を取得します。
 java.lang.String getRoles()
          画面情報 ロール を取得します。
 int getSequence()
          画面の表示順を取得します。
 java.lang.String getTarget()
          画面を表示する時のターゲット属性を取得します。
 int hashCode()
          オブジェクトのハッシュコード値を返します。
 boolean isGroupIn(java.lang.String group)
          指定の文字列がグループに含まれているかどうかを判定します。
 boolean isPulldown()
          ボタンメニューにプルダウンを指定するのかをチェックします。
 boolean isRead()
          リードアクセス(読取り許可)の 可否を チェックします。
 boolean isWrite()
          ライトアクセス(書込み許可)の 可否を チェックします。
 void setLevelUp()
          画面の階層番号(レベル)をアップします。
 void setNextGuiKey(java.lang.String guiKey)
          この画面の次にアクセスされた画面IDをセットします。
 java.lang.String toString()
          オブジェクトの識別子として,詳細な画面情報を返します。
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

GUIInfo

public GUIInfo(GUIData guiData,
               LabelData labelData,
               byte bitMode)
コンストラクター 引数の bitMode は、UserInfo と加味済み

パラメータ:
guiData - GUIData 画面データオブジェクトID
labelData - LabelData ラベルデータオブジェクト
bitMode - byte ビットモード配列 "--: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) 強制プルダウンモード追加
メソッドの詳細

getKey

public java.lang.String getKey()
画面情報 画面ID を取得します。

戻り値:
key 画面ID

getAddress

public java.lang.String getAddress()
実行アドレス情報を取得します。

戻り値:
address 実行アドレス

getRealAddress

public java.lang.String 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 あり

戻り値:
realAddress 実行実アドレス
変更履歴:
3.5.5.0 (2004/03/12) 新規追加
4.0.0 (2005/01/31) param属性追加

getRealAddress

public java.lang.String getRealAddress(java.lang.String page)
トップからの実行アドレス情報を取得します。 コンテキスト名とリンク区分属性を利用して、サーバートップからのアドレスを 返します。ただし、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 など)
戻り値:
realAddress 実行実アドレス
変更履歴:
4.0.0 (2005/01/31) 新規追加(param属性追加)

getSequence

public int getSequence()
画面の表示順を取得します。

戻り値:
sequence 画面の表示順

getLevel

public int getLevel()
画面の階層番号(レベル)を取得します。 画面階層は、  0:予約階層(将来的にタブブラウザ対応時に使用  1:トップ階層(通常のメニューの分類として表示されます。)  2:選択階層(通常の折りたたみメニューの画面選択時に使用されます。)  3以下:下位階層(通常の選択メニューとして、1段下げて表示されます。) です。 なお、これらの意味は、実際にメニューを作成/表示するクラスに依存します。

戻り値:
int 画面の表示順

setLevelUp

public void setLevelUp()
画面の階層番号(レベル)をアップします。 これは、レベルが3の場合(階層時の隠しメニュー)をレベル2に することで、常に見えているメニューに格上げします。 具体的には、設定値が隠しメニューの場合に、アクセスするとレベル2へ格上げ することで、個人単位で、過去の履歴に応じたメニュー配置が可能になります。


getGroups

public java.lang.String getGroups()
画面情報 メニュグループのオリジナルキー を取得します。 メニュグループは、カンマ区切りで複数登録できます。

戻り値:
String メニュ分類のキー

isGroupIn

public boolean isGroupIn(java.lang.String group)
指定の文字列がグループに含まれているかどうかを判定します。 メニュグループは、カンマ区切りで複数登録できますので、そのうちの どれかに含まれていれば、true を返します。 このメニューそのものに、グループが指定されていない場合は、 デフォルトグループという扱いで、true を返します。 引数が、null または、ゼロ文字列の場合も、同様に、true を返します。

パラメータ:
group - String 判定するグループ
戻り値:
boolean グループに含まれているかどうか

getClassify

public java.lang.String getClassify()
画面情報 メニュ分類のオリジナルキー を取得します。

戻り値:
String メニュ分類のキー

getLabel

public java.lang.String getLabel()
画面情報 画面名称 を取得します。 これは、加工前のラベルリソースに登録されている値です。

戻り値:
String 画面名称

getName

public java.lang.String getName()
画面情報 画面名称(short) を取得します。 この名称は、チップ表示付きの文字列を返します。

戻り値:
String 画面名称(short)

getLongName

public java.lang.String getLongName()
画面情報 画面名称(long) を取得します。 この名称は、チップ表示付きの文字列を返します。

戻り値:
String 画面名称(long)

getRoles

public java.lang.String getRoles()
画面情報 ロール を取得します。 ロールは、AAA|BBB|CCC と『|』の区切り文字で複数登録できます。 ユーザーのロール(こちらも、XXX|YYY|AAAと複数登録可能)とマッチする ロールがあれば、その画面のアクセス許可があります。 読み書きと、メニュー表示は、アクセスモードで指定します。

戻り値:
String ロール

getMode

public java.lang.String 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文字のみ登録された場合は、全ロールが同一モードに設定 されたとみなします。

戻り値:
String ロール毎のアクセスモード列(mr,mw,-r,-w の羅列)

getTarget

public java.lang.String getTarget()
画面を表示する時のターゲット属性を取得します。

戻り値:
String ターゲット

getParam

public java.lang.String getParam()
画面を表示する時のパラメータ属性を取得します。

戻り値:
String パラメータ

getKblink

public java.lang.String getKblink()
リンク区分属性を取得します。

戻り値:
String リンク区分
変更履歴:
3.4.0.0 (2003/09/01) リンク区分(KBLINK)属性を追加。

getDescription

public java.lang.String getDescription()
概要説明属性を取得します。 概要説明が設定されていない場合は、longName を返します。

戻り値:
String 概要説明
変更履歴:
3.5.6.5 (2004/08/09) 概要説明(DESCRIPTION)属性を追加。

getDyupd

public java.lang.String getDyupd()
更新日時を取得します。

戻り値:
String 更新日時
変更履歴:
5.3.3.0 (2011/03/01) 新規作成

getRoleMode

public RoleMode getRoleMode()
ロールモード情報を取得します。

戻り値:
RoleMode roleMode
変更履歴:
4.3.0.0 (2008/07/04) 新規追加

isRead

public boolean isRead()
リードアクセス(読取り許可)の 可否を チェックします。 アクセスチェックは、画面のロールをユーザーの それと比較して条件が含まれているかどうかを確認します。 条件が null (または0ストリング)の場合は, true となります。 条件の判断は、AND 条件です。 さらに、その他の条件部分を判断して、OR 条件で先の結果と突き合わせます。 ユーザーのロールが、 "root" の場合は,rw 属性のみのチェックで判断します。

戻り値:
アクセスOK:true アクセス拒否:false
変更履歴:
3.5.4.0 (2003/11/25) 引数にロールズを渡します。

isWrite

public boolean isWrite()
ライトアクセス(書込み許可)の 可否を チェックします。 アクセスチェックは、画面のロールをユーザーの それと比較して条件が含まれているかどうかを確認します。 条件が null (または0ストリング)の場合は, true となります。 条件の判断は、AND 条件です。 さらに、その他の条件部分を判断して、OR 条件で先の結果と突き合わせます。 ユーザーのロールが、 "root" の場合は,rw 属性のみのチェックで判断します。

戻り値:
アクセスOK:true アクセス拒否:false
変更履歴:
3.5.4.0 (2003/11/25) 引数にロールズを渡します。

isPulldown

public boolean isPulldown()
ボタンメニューにプルダウンを指定するのかをチェックします。

戻り値:
プルダウン化の場合true
変更履歴:
4.3.3.0 (2008/10/01) 新規作成

getBitMode

public byte getBitMode()
指定のユーザーロールに対するビット条件を取得します。 この bitMode は、すでにユーザー単位に作成された値です。

戻り値:
アクセスビット
変更履歴:
4.3.0.0 (2008/07/04) ロールモードマルチ対応

getAttribute

public java.lang.String getAttribute(java.lang.String key)
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 概要説明 ・DYUPD 更新日時 ・ISREAD 読取り許可(true/false) ・ISWRITE 書込み許可(true/false)

パラメータ:
key - String キー
戻り値:
String 属性文字列の値
変更履歴:
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 (2005/11/30) ISREAD,ISWRITE 属性を追加。
5.3.3.0 (2011/03/01) 更新日時を追加

getEntrys

public HybsEntry[] getEntrys()
GUIInfoの属性文字列の内部情報を返します。 この内部情報の中には、getAttribute( String ) で取得できる管理情報です。

戻り値:
HybsEntry[] 属性文字列のHybsEntryオブジェクト配列
変更履歴:
4.0.0 (2004/12/31) 新規作成
5.3.3.0 (2011/03/01) 更新日時を追加

addReadCount

public void addReadCount(int cnt,
                         long time,
                         java.lang.String query)
データベース検索した数と、掛かった時間(ms)を、セットします。 これは、セキュリティ上の監視フラグで、不必要に、大量の データが検索された場合や、不正なデータアクセスがあるかどうかを 監視するための統計情報を取得します。 画面オブジェクトは、各ユーザー毎に作成されているため、個々の ユーザー毎/画面毎のアクセス状況を見ることが可能になります。

パラメータ:
cnt - データベース検索した数
time - データベース検索した数
query - そのときのSQL文
変更履歴:
4.0.0 (2005/01/31) 新規追加

addWriteCount

public void addWriteCount(int cnt,
                          long time,
                          java.lang.String query)
データベース登録した数と、掛かった時間(ms)を、セットします。 これは、セキュリティ上の監視フラグで、不必要に、大量の データが登録された場合や、不正なデータアクセスがあるかどうかを 監視するための統計情報を取得します。 画面オブジェクトは、各ユーザー毎に作成されているため、個々の ユーザー毎/画面毎のアクセス状況を見ることが可能になります。

パラメータ:
cnt - データベース登録した数
time - データベース検索した数
query - そのときのSQL文
変更履歴:
4.0.0 (2005/01/31) 新規追加

addAccessCount

public void addAccessCount()
この画面へのアクセス回数を、+1します。 アクセス回数は、このメソッドの呼び出し回数のことです。 現状では、result.jsp 画面でセットすることで、アクセス数を 数えることにします。

変更履歴:
4.0.0 (2005/01/31) 新規追加

addErrorCount

public void addErrorCount()
エラー発生時の件数を+1します。 これは、エラー発生時に呼び出すことで、エラー件数をチェックすることが 可能になります。 一般にエラーには、予期するエラー(必須入力登録漏れ等)と、予期しないエラー がありますが、ここでは、Java の Exceptionが発生する予期しないエラーの 件数をカウントします。

変更履歴:
4.0.0 (2005/01/31) 新規追加

getGUIAccessCount

public GUIAccessCount getGUIAccessCount()
この画面のアクセス統計オブジェクトを取得します。

戻り値:
accessCount GUIAccessCount アクセス統計オブジェクト
変更履歴:
4.0.0 (2005/01/31) 新規追加

setNextGuiKey

public void setNextGuiKey(java.lang.String guiKey)
この画面の次にアクセスされた画面IDをセットします。 これは、画面アクセスの履歴(順番)を管理する機能を提供します。 自分自身の次にアクセスされる画面IDの集合を管理することで QUERY画面上部のショートカットリンクに、次に使用する画面の リンクを用意することが可能になります。

パラメータ:
guiKey - String この画面の次にアクセスされた画面ID
変更履歴:
5.2.3.0 (2010/12/01) アクセス履歴管理

getNextGuiKeys

public java.lang.String getNextGuiKeys()
この画面の次にアクセスされた画面IDのCSV文字列を取得します。 これは、画面アクセスの履歴(順番)をカンマ区切り文字列で取り出します。 アクセス履歴を外部記憶媒体に出力する場合に使用します。

戻り値:
String この画面の次にアクセスされた画面IDのCSV文字列
変更履歴:
5.2.3.0 (2010/12/01) アクセス履歴管理

getNextGuiArray

public java.lang.String[] getNextGuiArray()
この画面の次にアクセスされた画面IDの文字列配列で取得します。 これは、画面アクセスの履歴(順番)を文字列配列で取り出します。

戻り値:
String この画面の次にアクセスされた画面IDの文字列配列
変更履歴:
5.2.3.0 (2010/12/01) アクセス履歴管理

compareTo

public int compareTo(GUIInfo other)
自然比較メソッド インタフェース Comparable の 実装に関連して、再定義しています。 登録されたシーケンス(画面の表示順)で比較します。 equals メソッドでは、キーの同一性のみに着目して判定しています。 この比較では、(運用上同一キーは発生しませんが)たとえ同一キーが存在した としても、その比較値が同じになることを保証していません。

定義:
インタフェース java.lang.Comparable<GUIInfo> 内の compareTo
パラメータ:
other - 比較対象のObject
戻り値:
このオブジェクトが指定されたオブジェクトより小さい場合は負の整数、等しい場合はゼロ、大きい場合は正の整数
例外:
java.lang.ClassCastException - 引数が GUIInfo ではない場合
java.lang.IllegalArgumentException - 引数が null の場合

equals

public boolean equals(java.lang.Object object)
このオブジェクトと他のオブジェクトが等しいかどうかを示します。 画面は、画面IDが等しければ、言語や表示順に関係なく同一とみなされます。 GUIInfo は、ユーザー個別に扱われ、そのグループには、key は唯一で、かつ 同一言語内で扱われるオブジェクトの為、同一とみなします。

オーバーライド:
クラス java.lang.Object 内の equals
パラメータ:
object - 比較対象の参照オブジェクト
戻り値:
obj 引数に指定されたオブジェクトとこのオブジェクトが等しい場合は true、そうでない場合は false

hashCode

public int hashCode()
オブジェクトのハッシュコード値を返します。 このメソッドは、java.util.Hashtable によって提供されるような ハッシュテーブルで使用するために用意されています。 equals( Object ) メソッドをオーバーライトした場合は、hashCode() メソッドも 必ず 記述する必要があります。 この実装では、getKey().hashCode() と同値を返します。

オーバーライド:
クラス java.lang.Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値

toString

public java.lang.String toString()
オブジェクトの識別子として,詳細な画面情報を返します。

オーバーライド:
クラス java.lang.Object 内の toString
戻り値:
詳細な画面情報
変更履歴:
3.4.0.0 (2003/09/01) リンク区分(KBLINK)属性を追加。
3.5.5.0 (2004/03/12) 実行アドレス(ADDRESS)属性を追加。
5.3.3.0 (2011/03/01) 更新日時を追加

openGion 5.3.6.0

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