概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.7.8.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" ファイル入出力 … このd,u,f では、【出力方法設定】タブは表示されません。 "o" 表示順編集のみ可 … この設定では、【表示項目設定】 タブで位置と表示順のみ変更できます。 "e" 画面編集可 … この設定で、編集機能がフルに使えます。 互換性の関係より、"" は、"e" と同等とします。 設定キーの関係より、"o" と "e" を設定すると、"f" が自動的に設定されます。 この３項目を順次つないで、"--","-r","-w","mr","mw" などの設定を行います。 モードが設定されている場合は、共通モードとして、すべてのロールに同じモードを 割り当てます。個別に割り当てる場合は、ROLES 情報の後ろに () 付きで追記します。 例えば、AAA|BBB(-r)|CCC とすれば、BBB ロールの場合は、読取専用になります。 ロールをぶつける場合は、AND 演算になります。 過去(Ver3)のモードとの互換性をとる場合、"rw" は "mw" へ、"r-" は"mr" へ変換 してください。

変更履歴:

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

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

フィールドの概要
`static java.lang.String` | `DEFAULT_MODE` 初期のモード

メソッドの概要
`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` | `isFullEdit(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`

フィールドの詳細

### DEFAULT_MODE

    public static final java.lang.String DEFAULT_MODE

  初期のモード

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

メソッドの詳細

### newInstance

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

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

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

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

### newInstance

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

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

  パラメータ:
    `roles` - "|"で区切られた ロール文字列
    `mode` - "|"で区切られ、ロール文字列と対応付けられたモード文字列。唯一の場合は共通モードになる。
  戻り値:
    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` - ロールモード
  戻り値:
    アクセスビット
  変更履歴:

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

### isMenu

    public static boolean isMenu(byte bitMode)

  ビットロールのメニュー表示可否を返します。 ロールが、m## , p## の場合に、true になります。 これは、メニューに表示されるかどうかの判定に使われます。

  パラメータ:
    `bitMode` - ビットロール
  戻り値:
    メニュー表示できる(true)/出来ない(false)

### isPulldown

    public static boolean isPulldown(byte bitMode)

  ビットロールのプルダウン化を返します。 ロールが、p## の場合に、true になります。 ボタンメニュー時でも強制的に従来のプルダウンにします。 今後は廃止の方向です。

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

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

### isRead

    public static boolean isRead(byte bitMode)

  ビットロールの読込アクセス可否を返します。 ロールが、#r# , #w# の場合に、true になります。 読み取り属性がある場合、画面が利用可能になります。 #-# の場合は、画面へのアクセスができないため、 メニューアクセス許可を与える、m-# の設定は無意味です。 この場合は、メニューにも表示されません。

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

### isWrite

    public static boolean isWrite(byte bitMode)

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

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

### isAccess

    public static boolean isAccess(byte bitMode)

  ビットロールの画面アクセス可否を返します。 これは、画面にアクセスできるかどうかの判断です。 ロールが、#r# , #w# の場合に、true になります。 現時点では、isRead(byte) と計算方法は異なりますが、同じ結果になっています。 これは、たまたま、現時点のロールの種類がそうなっているだけで、将来的に 同じかどうかは、保障されていません。 よって、読み取り許可と、画面アクセス許可は、分けて考えてください。

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

### isDownload

    public static boolean isDownload(byte bitMode)

  ビットロールのファイル出力可否を返します。 ロールが、##d , ##f , ##o , ##e(= ##) の場合に、true になります。 ##u の場合に、false になります。 ファイル出力の可否を判定します。 ## は、互換性の関係で、##e と同じです。

  パラメータ:
    `bitMode` - ビットロール
  戻り値:
    ファイル出力できる(true)/出来ない(false)

### isUpload

    public static boolean isUpload(byte bitMode)

  ビットロールのファイル入力可否を返します。 ロールが、##u , ##f , ##o , ##e(= ##) の場合に、true になります。 ##d の場合に、false になります。 ファイル入力の可否を判定します。 ## は、互換性の関係で、##e と同じです。 ダウンロードはさせないが、アップロードを行う場合に使います。 ここでのアップロードとは、基本的にデータの取り込みになりますので、 アップロードのみという扱いは、あまりありません。

  パラメータ:
    `bitMode` - ビットロール
  戻り値:
    ファイル入力できる(true)/出来ない(false)

### isEdit

    public static boolean isEdit(byte bitMode)

  ビットロールの画面編集可否を返します。 ロールが、##o , ##e(= ##) の場合に、true になります。 このビットロールだけ特殊で、フラグが ON の場合に、機能制限がかかります。

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

    5.4.2.0 (2011/12/01) 新規作成
    5.5.5.2 (2012/08/10) oモード追加に伴い変更

### isFullEdit

    public static boolean isFullEdit(byte bitMode)

  ビットロールの画面編集のフルコントロール可否を返します。 ロールが、##e(= ##) の場合に、true になります。 これは、フルコントロールの状態を指します。

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

    5.5.5.2 (2012/08/10) 新規作成

### toString

    public java.lang.String toString()

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

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

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

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