モジュール java.base
パッケージ 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
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    コンストラクタ
    説明
    PermissionCollectionを保持しない新規Permissionsオブジェクトを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    void
    add(Permission permission)
    指定されたpermissionオブジェクトを、それが属するクラスのPermissionCollectionに追加します。
    Permissionsオブジェクト内のすべてのPermissionCollectionのすべてのPermissionオブジェクトの列挙を返します。
    boolean
    implies(Permission permission)
    指定されたアクセス権のクラスに対するこのオブジェクトのPermissionCollectionが、permissionオブジェクトで表現されるアクセス権を包含するかどうかを確認します。

    クラス java.security.PermissionCollectionで宣言されたメソッド

    elementsAsStream, isReadOnly, setReadOnly, toString

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • アクセス許可

      public Permissions()
      PermissionCollectionを保持しない新規Permissionsオブジェクトを作成します。
  • メソッドの詳細

    • add

      public void add(Permission permission)
      指定されたpermissionオブジェクトを、それが属するクラスのPermissionCollectionに追加します。 たとえば、permissionがFilePermissionである場合、このPermissionsオブジェクトに格納されたFilePermissionCollectionに追加します。 適切なコレクションが存在しない場合、このメソッドは新規PermissionCollectionオブジェクトを作成し、そこにアクセス権を追加します。
      定義:
      add、クラス: PermissionCollection
      パラメータ:
      permission - 追加されるPermissionオブジェクト。
      例外:
      SecurityException - このPermissionsオブジェクトが読取り専用としてマークされている場合。
      関連項目:
    • 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の列挙。
      関連項目: