JavaTM Platform
Standard Ed. 6

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<Permission> 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 に追加します。たとえば、permission が 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 オブジェクト
戻り値:
アクセス権が所属先の PermissionCollection 内のアクセス権に包含される場合は true、そうでない場合は false

elements

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

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。