概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.5.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

## org.opengion.hayabusa.resource
クラス RoleMode

    java.lang.Object
      org.opengion.hayabusa.resource.RoleMode

    public final class RoleMode

extends java.lang.Object

ロールモードは、画面オブジェクトやカラムオブジェクトのロール-モード制御の情報を 管理するクラスです。 ROLES 情報は、AAA|BBB|CCC と 『|』で区切られた複数のロールを持っています。 通常、ユーザーロールは画面やカラムの各オブジェクトに対してロール制御可能です。 ログインユーザーは、自分自身のロールを、画面やカラムが持っているかを判定します。 画面に関しては、従来のデフォルトアクセスがなくなり、ロールを登録する場合は、 必ず ユーザーロールとの比較が行われます。画面ロールを登録しない場合は、アクセス 可能と判断されます。つまり、画面の場合は、なにも設定しなければ、アクセス可能と 判断されます。 カラムロールも同様に、何も設定しなければフルアクセスできます。通常、ほとんどの ケースでカラムロールが使われることはありません。 RWMODE 情報は、各ロールに対して、３つの項目で表しています。 １："-" メニュー非表示 "m" メニュー表示 "p" メニュー表示(強制プルダウン表示) ２："-" アクセス拒否 "r" 読取許可 "w" 読取、書込許可 ３："-" 未対応 "d" ファイル出力 "u" ファイル入力 "f" ファイル入出力 "e" 画面編集可 互換性の関係より、"" は、"f" "e" と同等とします。 この３項目を順次つないで、"--","-r","-w","mr","mw" などの設定を行います。 モードが設定されている場合は、共通モードとして、すべてのロールに同じモードを 割り当てます。個別に割り当てる場合は、ROLES 情報の後ろに () 付きで追記します。 例えば、AAA|BBB(-r)|CCC とすれば、BBB ロールの場合は、読取専用になります。 ロールをぶつける場合は、AND 演算になります。 過去(Ver3)のモードとの互換性をとる場合、"rw" は "mw" へ、"r-" は"mr" へ変換 してください。

変更履歴:

  4.0.0 (2004/01/31) 新規作成
  4.3.3.0 (2008/10/01) pモード追加

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

フィールドの概要
`static byte` | `D_MODE` MODE 定義 ( --d )
`static java.lang.String` | `DEFAULT_MODE`
`static byte` | `E_MODE` MODE 定義 ( --f )
`static byte` | `F_MODE` MODE 定義 ( --f )
`static byte` | `FULL_MODE` MODE 定義 ( mwf )
`static byte` | `M_MODE` MODE 定義 ( m-- )
`static byte` | `P_MODE` MODE 定義 ( p-- )
`static byte` | `R_MODE` MODE 定義 ( -r- )
`static byte` | `U_MODE` MODE 定義 ( --u )
`static byte` | `W_MODE` MODE 定義 ( -w- )

メソッドの概要
`byte` | `getAccessBitMode(RoleMode other)` 指定のユーザーロールに対する最終的なアクセス条件を取得します。
`java.lang.String` | `getMode()` モード配列を返します。
`java.lang.String` | `getRoles()` ロールズを返します。
`static boolean` | `isAccess(byte bitMode)` ビットロールのメニュアクセス可否を返します。
`static boolean` | `isDownload(byte bitMode)` ビットロールのファイルアクセス可否を返します。
`static boolean` | `isEdit(byte bitMode)` ビットロールの画面編集可否を返します。
`static boolean` | `isMenu(byte bitMode)` ビットロールのメニュアクセス可否を返します。
`static boolean` | `isPulldown(byte bitMode)` ビットロールのプルダウン化を返します。
`static boolean` | `isRead(byte bitMode)` ビットロールの読込アクセス可否を返します。
`static boolean` | `isUpload(byte bitMode)` ビットロールのファイルアクセス可否を返します。
`static boolean` | `isWrite(byte bitMode)` ビットロールの書込アクセス可否を返します。
`static RoleMode` | `newInstance(java.lang.String roles)` ロールとモードを元に、RoleModeオブジェクトを構築します。
`static RoleMode` | `newInstance(java.lang.String roles, java.lang.String mode)` ロールとモードを元に、RoleModeオブジェクトを構築します。
`java.lang.String` | `toString()` オブジェクトの識別子として，詳細なユーザー情報を返します。

クラス java.lang.Object から継承されたメソッド
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

フィールドの詳細

### FULL_MODE

    public static final byte FULL_MODE

  MODE 定義 ( mwf )

  関連項目:
    定数フィールド値

### M_MODE

    public static final byte M_MODE

  MODE 定義 ( m-- )

  関連項目:
    定数フィールド値

### P_MODE

    public static final byte P_MODE

  MODE 定義 ( p-- )

  関連項目:
    定数フィールド値

### R_MODE

    public static final byte R_MODE

  MODE 定義 ( -r- )

  関連項目:
    定数フィールド値

### W_MODE

    public static final byte W_MODE

  MODE 定義 ( -w- )

  関連項目:
    定数フィールド値

### D_MODE

    public static final byte D_MODE

  MODE 定義 ( --d )

  関連項目:
    定数フィールド値

### U_MODE

    public static final byte U_MODE

  MODE 定義 ( --u )

  関連項目:
    定数フィールド値

### F_MODE

    public static final byte F_MODE

  MODE 定義 ( --f )

  関連項目:
    定数フィールド値

### E_MODE

    public static final byte E_MODE

  MODE 定義 ( --f )

  関連項目:
    定数フィールド値

### DEFAULT_MODE

    public static final java.lang.String DEFAULT_MODE

関連項目:
  定数フィールド値

メソッドの詳細

### newInstance

    public static RoleMode newInstance(java.lang.String roles)

  ロールとモードを元に、RoleModeオブジェクトを構築します。 条件が同じ RoleModeオブジェクト があれば、キャッシュから返します。 キャッシュになければ、新規に作成します。 このキャッシュは、完全な内部キャッシュなので、いつクリアされるか保障がありません。

  パラメータ:
    `roles` - String "|"で区切られた ロール文字列
  戻り値:
    RoleMode RoleModeオブジェクト
  変更履歴:

    4.3.0.0 (2008/07/04) ロールモードマルチ対応

### newInstance

    public static RoleMode newInstance(java.lang.String roles,
                                       java.lang.String mode)

  ロールとモードを元に、RoleModeオブジェクトを構築します。 条件が同じ RoleModeオブジェクト があれば、キャッシュから返します。 キャッシュになければ、新規に作成します。 このキャッシュは、完全な内部キャッシュなので、いつクリアされるか保障がありません。

  パラメータ:
    `roles` - String "|"で区切られた ロール文字列
    `mode` - String "|"で区切られ、ロール文字列と対応付けられたモード文字列。唯一の場合は共通モードになる。
  戻り値:
    RoleMode RoleModeオブジェクト
  変更履歴:

    4.3.0.0 (2008/07/04) ロールモードマルチ対応

### getRoles

    public java.lang.String getRoles()

  ロールズを返します。

  戻り値:
    ロールズ文字列

### getMode

    public java.lang.String getMode()

  モード配列を返します。

  戻り値:
    モード配列

### getAccessBitMode

    public byte getAccessBitMode(RoleMode other)

  指定のユーザーロールに対する最終的なアクセス条件を取得します。 アクセス条件は、複数あるユーザーロールの中で、最大のアクセス条件を算出します。 例えば、AAA(-r)|BBB(-w)|CCC(mr) の３つのロール/モードが設定されている場合、 ユーザーが、AAA だけの場合は、-r ですが、AAA|BBB を持っている場合は、-w になります。 さらに、BBB|CCC と持っている場合は、(-w:書き込み許可)と(mr:メニューから読取許可)の 権限により、mw:メニューからの書き込み許可が与えられます。 モード指定がある場合は、AND演算になります。 例えば、AAA(-r)|BBB(-w)|CCC(mr) と BBB|CCC(-r) の場合、(-r)+(-w)+(mr)*(-r)=-w に なります。ロールは、OR ですが、モードは、同一ロールでのAND になります。 実際には、メニュー表示の可否は、ポップアップ系によく用いられますので、上記のような 許可が実際にあるかどうかは不明ですが、すべてのモードのOR条件での結合になります。

  パラメータ:
    `other` - RoleMode ロールモード
  戻り値:
    アクセスビット
  変更履歴:

    4.3.0.0 (2008/07/04) ロールモードマルチ対応

### isMenu

    public static boolean isMenu(byte bitMode)

  ビットロールのメニュアクセス可否を返します。 M_MODE = (byte)0x10; // m-- = 10000 = 0x10

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isPulldown

    public static boolean isPulldown(byte bitMode)

  ビットロールのプルダウン化を返します。 P_MODE = (byte)0x10; // p-- = 010000 = 0x10

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    true:プルダウン化
  変更履歴:

    4.3.3.0 (2008/10/01) メソッド追加

### isRead

    public static boolean isRead(byte bitMode)

  ビットロールの読込アクセス可否を返します。 R_MODE = (byte)0x04; // -r- = 00100 = 0x04

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isWrite

    public static boolean isWrite(byte bitMode)

  ビットロールの書込アクセス可否を返します。 これは、読込、書込みの判断ではなく、書込みができるか どうかの判断をしています。 読込、書込みの判断は、isAccess を使用してください。

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isAccess

    public static boolean isAccess(byte bitMode)

  ビットロールのメニュアクセス可否を返します。 これは、読込、書込みの判断です。 W_MODE = (byte)0x0C; // -w- = 01100 = 0x0C

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isDownload

    public static boolean isDownload(byte bitMode)

  ビットロールのファイルアクセス可否を返します。 D_MODE = (byte)0x01; // --d = 00001 = 0x01

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isUpload

    public static boolean isUpload(byte bitMode)

  ビットロールのファイルアクセス可否を返します。 U_MODE = (byte)0x02; // --u = 00010 = 0x02

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)

### isEdit

    public static boolean isEdit(byte bitMode)

  ビットロールの画面編集可否を返します。 E_MODE = (byte)0x07; // --e = 0000111 = 0x07

  パラメータ:
    `bitMode` - byte ビットロール
  戻り値:
    アクセスできる（true)/出来ない(false)
  変更履歴:

    5.4.2.0 (2011/12/01) 新規作成

### toString

    public java.lang.String toString()

  オブジェクトの識別子として，詳細なユーザー情報を返します。

  オーバーライド:
    クラス `java.lang.Object` 内の `toString`
  戻り値:
    詳細な画面情報

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.5.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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