クラス DataRole
- java.lang.Object
-
- org.opengion.hayabusa.resource.DataRole
-
public final class DataRole extends Object
データロールは、データへのアクセス権限を管理するクラスです。 データロール情報は、データロールマスタ(GEA06)で管理されます。 あるユーザーのデータロール情報に対してひもつくデータロールマスタの カラム、条件値、条件式の一覧に対して、カラム単位に条件式を構築します。 このクラスでは、インスタンス作成時にデータロールマスタのDBを直接検索しています。 このため、データ変更時の変更内容を次回ログイン時から反映させるため、 自身のオブジェクトキャッシュは保持していません。 また、各条件式について、1つのカラムに対して複数の条件式が適用される場合、 条件式が"="または"LIKE"だけの場合は、"OR"結合されます。 "!="及び"NOT LIKE"条件が1つでも含まれる場合は、"AND"結合されます。 データロールがNULLの場合、全データへのアクセス可能となり、条件式としては、 "LIKE '%'" が付加されます。 また、'--'の場合、全データへのアクセスが不可能となり、条件式としては、 "NOT LIKE '%'" が付加されます。 ユーザーのデータロールが指定されているにも関わらず、データロールの検索ができない 場合は、全禁止になります。 検索条件を取得する際に、テーブル名又は、テーブル名の別名が指定された場合、 条件の取得する際には、テーブル名は無視されますが、返される条件には、テーブル名 は付加された状態になります。 例) ABC(=) BCD(=) ⇒ (CLM = 'ABC' or CLM = 'BCD' ) ABC(=) BCD(LIKE) ⇒ (CLM = 'ABC' or CLM like 'BCD%' ) ABC(=) BCD(!=) ⇒ (CLM = 'ABC' and CLM != 'BCD' ) ABC(LIKE) BCD(LIKE) ⇒ (CLM like 'ABC%' or CLM like 'BCD%' ) ABC(LIKE) BCD(!=) ⇒ (CLM like 'ABC%' and CLM != 'BCD' ) ABC(LIKE) BCD(!=) ⇒ (CLM != 'ABC' and CLM != 'BCD' ) ABC(=) BCD(=) ⇒ (A.CLM = 'ABC' or A.CLM = 'BCD' ) ※ {@SEC.A.CLM}でアクセス- 変更履歴:
- 4.4.0.0 (2009/08/02) 新規作成
- 機能分類
- リソース管理
- バージョン
- 4.0
- 作成者
- Hiroki Nakamura
- 導入されたバージョン:
- JDK5.0,
-
-
メソッドの概要
すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 String
getCondition(String clm)
ロールズを返します。String
getDataRoles()
ロールズを返します。static DataRole
newInstance(String droles, String systemId, ApplicationInfo appInfo)
ロール文字列から、データロールマスタ(GEA05)を検索し、カラム単位の 条件式を生成します。String
toString()
オブジェクトの識別子として,詳細なユーザー情報を返します。
-
-
-
メソッドの詳細
-
newInstance
public static DataRole newInstance(String droles, String systemId, ApplicationInfo appInfo)
ロール文字列から、データロールマスタ(GEA05)を検索し、カラム単位の 条件式を生成します。- パラメータ:
droles
- "|"で区切られた データロール文字列systemId
- システムIDappInfo
- 接続情報- 戻り値:
- データロールオブジェクト
- このメソッドは、nullを返しません
-
getDataRoles
public String getDataRoles()
ロールズを返します。- 戻り値:
- ロールズ文字列
-
getCondition
public String getCondition(String clm)
ロールズを返します。- パラメータ:
clm
- カラム名- 戻り値:
- ロールズ文字列
- 変更履歴:
- 4.4.0.1 (2009/08/08) テーブルIDが付加されている場合の条件を追加
-
-