モジュール java.base
パッケージ java.security

クラスPermissions

すべての実装されたインタフェース:
Serializable

public final class Permissions extends PermissionCollection implements Serializable
このクラスは、異なる種類のアクセス権のコレクションを表します。 つまり、PermissionCollectionオブジェクトに編成された様々なタイプのPermissionオブジェクトが含まれます。 たとえば、java.io.FilePermissionオブジェクトがこのクラスのインスタンスに追加された場合、これらはすべて単一のPermissionCollectionに格納されます。 これは、FilePermissionクラスのnewPermissionCollectionメソッドへのコールによって返されるPermissionCollectionです。 同様に、java.lang.RuntimePermissionオブジェクトは、RuntimePermissionクラスのnewPermissionCollectionメソッドへのコールによって返されるPermissionCollectionに格納されます。 したがって、このクラスはPermissionCollectionオブジェクトのコレクションを表します。

Permissionを追加するためにaddメソッドがコールされると、Permissionは適切なPermissionCollectionに格納されます。 そのようなコレクションがまだ存在しない場合、Permissionオブジェクトのクラスが決定され、そのクラスでnewPermissionCollectionメソッドがコールされてPermissionCollectionが作成され、Permissionsオブジェクトに追加されます。 newPermissionCollectionnullを返す場合、ハッシュ表を使用するデフォルトのPermissionCollectionが作成されて使用されます。 各ハッシュ表エントリには、キーと値の両方としてPermissionオブジェクトが格納されます。

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

導入されたバージョン:
1.2
関連項目:
  • コンストラクタのサマリー

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

    修飾子と型
    メソッド
    説明
    void
    add(Permission permission)
    権限が属するクラスのPermissionCollectionPermissionオブジェクトを追加します。
    このPermissionsオブジェクト内のすべてのPermissionCollectionオブジェクトのすべてのPermissionオブジェクトの列挙を返します。
    boolean
    implies(Permission permission)
    このオブジェクトの's PermissionCollection:指定した権限の権限'クラスが、「権限」オブジェクトで表される権限を示しているかどうかを確認します。

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

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

      public boolean implies(Permission permission)
      このオブジェクトの's PermissionCollection:指定した権限の権限'クラスが、「権限」オブジェクトで表される権限を示しているかどうかを確認します。 適切なPermissionCollection (例: FilePermissionFilePermissionCollection)内の権限の組合せが指定された権限を示している場合は、trueを返します。

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

      また、このPermissionCollectionAllPermissionが含まれている場合、このメソッドは常にtrueを返します。

      定義:
      implies、クラスPermissionCollection
      パラメータ:
      permission - チェックするPermissionオブジェクト。
      戻り値:
      "権限"がPermissionCollectionの権限によって暗黙的に指定されている場合はtrue、そうでない場合はfalse
    • elements

      public Enumeration<Permission> elements()
      このPermissionsオブジェクト内のすべてのPermissionCollectionオブジェクトのすべてのPermissionオブジェクトの列挙を返します。
      定義:
      elements、クラスPermissionCollection
      戻り値:
      すべてのPermissionオブジェクトの列挙。
      関連項目: