org.opengion.hayabusa.resource

## クラス DataRole

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

-     public final class DataRole
      extends java.lang.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メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `java.lang.String` | `getCondition(java.lang.String clm)` ロールズを返します。
    `java.lang.String` | `getDataRoles()` ロールズを返します。
    `static DataRole` | `newInstance(java.lang.String droles, java.lang.String systemId, ApplicationInfo appInfo)` ロール文字列から、データロールマスタ(GEA05)を検索し、カラム単位の 条件式を生成します。
    `java.lang.String` | `toString()` オブジェクトの識別子として，詳細なユーザー情報を返します。

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

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

- - ### メソッドの詳細

    - #### newInstance

          public static DataRole newInstance(java.lang.String droles,
                                             java.lang.String systemId,
                                             ApplicationInfo appInfo)

      ロール文字列から、データロールマスタ(GEA05)を検索し、カラム単位の 条件式を生成します。
      パラメータ:
        `droles` - "|"で区切られた データロール文字列
        `systemId` - システムID
        `appInfo` - 接続情報
      戻り値:
        データロールオブジェクト
      このメソッドは、nullを返しません

    - #### getDataRoles

          public java.lang.String getDataRoles()

      ロールズを返します。
      戻り値:
        ロールズ文字列

    - #### getCondition

          public java.lang.String getCondition(java.lang.String clm)

      ロールズを返します。
      パラメータ:
        `clm` - カラム名
      戻り値:
        ロールズ文字列
      変更履歴:
        4.4.0.1 (2009/08/08) テーブルIDが付加されている場合の条件を追加

    - #### toString

          public java.lang.String toString()

      オブジェクトの識別子として，詳細なユーザー情報を返します。
      オーバーライド:
        `toString` クラス内 `java.lang.Object`
      戻り値:
        詳細な画面情報
      このメソッドは、nullを返しません

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