- 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はフェイルファストではありません。 コレクションの列挙中に、コレクションへ変更を加えてはいけません。- 導入されたバージョン:
- 1.2
- 関連項目:
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で宣言されたメソッド
elementsAsStream, isReadOnly, setReadOnly, toString
-
-
-
-
メソッドの詳細
-
add
public void add(Permission permission)
指定されたpermissionオブジェクトを、それが属するクラスのPermissionCollectionに追加します。 たとえば、permissionがFilePermissionである場合、このPermissionsオブジェクトに格納されたFilePermissionCollectionに追加します。 適切なコレクションが存在しない場合、このメソッドは新規PermissionCollectionオブジェクトを作成し、そこにアクセス権を追加します。- 定義:
add
、クラスPermissionCollection
- パラメータ:
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を返します。
- 定義:
implies
、クラスPermissionCollection
- パラメータ:
permission
- チェック対象のPermissionオブジェクト。- 戻り値:
- アクセス権が所属先のPermissionCollection内のアクセス権に包含される場合はtrue、そうでない場合はfalse。
-
elements
public Enumeration<Permission> elements()
Permissionsオブジェクト内のすべてのPermissionCollectionのすべてのPermissionオブジェクトの列挙を返します。- 定義:
elements
、クラスPermissionCollection
- 戻り値:
- すべてのPermissionsの列挙。
- 関連項目:
PermissionCollection.elementsAsStream()
-
-