JavaTM 2
Platform
Std. Ed. v1.4.0

java.security
クラス Permissions

java.lang.Object
  |
  +--java.security.PermissionCollection
        |
        +--java.security.Permissions
すべての実装インタフェース:
Serializable

public final class Permissions
extends PermissionCollection
implements Serializable

Permissions の異種コレクションを表します。つまり、PermissionCollection に組み入れられる各種の Permission オブジェクトを保持します。たとえば、java.io.FilePermission オブジェクトのどれかがこのクラスのインスタンスに追加されると、すべて 1 つの PermissionCollection に格納されます。これは、FilePermission クラスの newPermissionCollection メソッドの呼び出しによって返される PermissionCollection です。同様に、java.lang.RuntimePermission オブジェクトはどれも RuntimePermission クラスの newPermissionCollection メソッドの呼び出しによって返される PermissionCollection に格納されます。このため、このクラスは PermissionCollection のコレクションを表します。

add メソッドを呼び出して Permission を追加すると、Permission は適切な PermissionCollection に追加されます。そのようなコレクションが存在しない場合、Permission オブジェクトのクラスが指定され、newPermissionCollection メソッドがそのクラスで呼び出されて、PermissionCollection を作成し Permissions オブジェクトに追加します。newPermissionCollection が null を返すと、ハッシュテーブルを使うデフォルトの PermissionCollection が作成されて使われます。ハッシュテーブルの各エントリは、Permission オブジェクトを鍵および値として格納します。

elements メソッドで返される Enumerations は「フェイルファスト」ではありません。コレクションの列挙中に、コレクションへ変更を加えてはいけません。

関連項目:
Permission, PermissionCollection, AllPermission

コンストラクタの概要
Permissions()
          PermissionCollection を保持しない新規 Permissions オブジェクトを作成します。
 
メソッドの概要
 void add(Permission permission)
          Permission オブジェクトを、そのアクセス権が属するクラスの PermissionCollection に追加します。
 Enumeration elements()
          Permissions オブジェクト内のすべての PermissionCollection のすべての Permission オブジェクトの列挙を返します。
 boolean implies(Permission permission)
          指定された種類のアクセス権に対するこのオブジェクトの PermissionCollection が、permission オブジェクトで表現されるアクセス権を包含するかどうかを判定します。
 
クラス java.security.PermissionCollection から継承したメソッド
isReadOnly, setReadOnly, toString
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

Permissions

public Permissions()
PermissionCollection を保持しない新規 Permissions オブジェクトを作成します。

メソッドの詳細

add

public void add(Permission permission)
Permission オブジェクトを、そのアクセス権が属するクラスの PermissionCollection に追加します。たとえばアクセス権が FilePermission である場合、この Permissions オブジェクトに格納されている FilePermissionCollection に追加されます。 適切なコレクションが存在しない場合、このメソッドは新規 PermissionCollection オブジェクトを作成し、そこにアクセス権を追加します。

定義:
クラス PermissionCollection 内の add
パラメータ:
permission - 追加される Permission オブジェクト
例外:
SecurityException - この Permissions オブジェクトが読み込み専用としてマークされている場合
関連項目:
PermissionCollection.isReadOnly()

implies

public boolean implies(Permission permission)
指定された種類のアクセス権に対するこのオブジェクトの PermissionCollection が、permission オブジェクトで表現されるアクセス権を包含するかどうかを判定します。適切な PermissionCollection (FilePermission の FilePermissionCollection など) 内のアクセス権の組み合わせが、指定されたアクセス権を包含する場合は true を返します。

たとえば、この Permissions オブジェクト内に FilePermissionCollection があり、/tmp ディレクトリの全サブディレクトリ内の全ファイルに対する「読み込み」アクセスを指定する FilePermission、および /tmp/scratch/foo ディレクトリの全ファイルに対する「書き込み」アクセスを指定する FilePermission を 1 つずつ保持すると仮定します。ここで、/tmp/scratch/foo ディレクトリのファイルに対する「読み込み」アクセスと「書き込み」アクセスの両方を指定するアクセス権を使って implies メソッドを呼び出すと、true が返されます。

さらに、この PermissionCollection が AllPermission を保持する場合、このメソッドは常に true を返します。

定義:
クラス PermissionCollection 内の implies
パラメータ:
permission - チェック対象の Permission オブジェクト
戻り値:
permission が所属する PermissionCollection 内のアクセス権によって包含される場合は true、そうでない場合は false

elements

public Enumeration elements()
Permissions オブジェクト内のすべての PermissionCollection のすべての Permission オブジェクトの列挙を返します。

定義:
クラス PermissionCollection 内の elements
戻り値:
すべての Permissions の列挙

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.