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

クラスProtectionDomain

java.lang.Object
java.security.ProtectionDomain

public class ProtectionDomain extends Object
ProtectionDomainクラスは、ドメインの特性をカプセル化します。ドメインは、特定のプリンシパルのセットにかわって実行されたときに、インスタンスが権限のセットを付与されるクラスのセットを包含します。

静的権限のセットは、作成時にProtectionDomainにバインドできます。このような権限は、実際のポリシーに関係なくドメインに付与されます。 ただし、動的セキュリティ・ポリシーをサポートするために、権限がチェックされるたびに現在のポリシーによって権限セットに動的にマップされるようにProtectionDomainを構築することもできます。

導入されたバージョン:
1.2
  • コンストラクタの詳細

    • ProtectionDomain

      public ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
      指定されたCodeSourceおよび権限を持つ新しいProtectionDomainを作成します。 権限がnullでない場合、渡された権限でsetReadOnly()がコールされます。

      このドメインに付与される権限は静的です。つまり、staticPermissionsOnly()メソッドを起動すると、trueが返されます。 これらには、このコンストラクタに渡されたもののみが含まれ、現在のポリシーは参照されません。

      パラメータ:
      codesource - このドメインに関連したコード・ソース
      permissions - このドメインに与えられたアクセス権
    • ProtectionDomain

      public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
      指定されたCodeSource、権限、ClassLoaderおよびプリンシパルの配列によって修飾された新しいProtectionDomainを作成します。 権限がnullでない場合、渡された権限でsetReadOnly()がコールされます。

      このドメインに付与される権限は動的です。つまり、staticPermissionsOnly()メソッドを起動すると、falseが返されます。 これには、このコンストラクタに渡される静的権限と、権限のチェック時に現在のポリシーによってこのドメインに付与される権限の両方が含まれます。

      このコンストラクタは通常、Policyオブジェクトに委任するClassLoadersおよびDomainCombinersによって使用され、このドメインに付与された権限をアクティブに関連付けます。 このコンストラクタは、ポリシー・プロバイダに、指定されたPermissionCollectionを拡張してポリシーの変更を反映する機会を提供します。

      パラメータ:
      codesource - このドメインに関連付けられているCodeSource
      permissions - このドメインに与えられたアクセス権
      classloader - このドメインに関連付けられているClassLoader
      principals - このドメインに関連付けられたPrincipalオブジェクトの配列。 この配列の内容は、後続の変更に影響されないようにコピーされる。
      導入されたバージョン:
      1.4
      関連項目:
  • メソッドの詳細

    • getCodeSource

      public final CodeSource getCodeSource()
      このドメインのCodeSourceを返します。
      戻り値:
      このドメインのCodeSource (null)。
      導入されたバージョン:
      1.2
    • getClassLoader

      public final ClassLoader getClassLoader()
      このドメインのClassLoaderを返します。
      戻り値:
      このドメインのClassLoader (null)。
      導入されたバージョン:
      1.4
    • getPrincipals

      public final Principal[] getPrincipals()
      このドメインの主体の配列を返します。
      戻り値:
      このドメインに対するnullでない原則の配列。 このメソッドが呼び出されるたびに新しい配列を返す。
      導入されたバージョン:
      1.4
    • getPermissions

      public final PermissionCollection getPermissions()
      このドメインに与えられた静的アクセス権を返します。
      戻り値:
      このドメインの静的権限のセット(null)。
      関連項目:
    • staticPermissionsOnly

      public final boolean staticPermissionsOnly()
      このドメインに静的権限のみが含まれ、権限チェック時に現在のPolicyがチェックされない場合は、trueを返します。
      戻り値:
      このドメインに静的権限のみが含まれる場合はtrue
      導入されたバージョン:
      9
    • implies

      public boolean implies(Permission perm)
      このProtectionDomainPermissionオブジェクトで表される権限を示しているかどうかを確認します。

      評価される一連の権限は、ProtectionDomainが静的権限セットで構築されたか、動的にマップされた権限セットにバインドされたかを示す機能です。

      staticPermissionsOnly()メソッドがtrueを返す場合、権限は、構築時に指定されたPermissionCollectionに対してのみチェックされます。

      それ以外の場合は、作成時に指定されたPermissionCollectionと現在のポリシー・バインディングの組合せに対して権限がチェックされます。

      パラメータ:
      perm - チェックする {code Permission} オブジェクト。
      戻り値:
      このProtectionDomainによってpermが暗黙的に指定されている場合、true
    • toString

      public String toString()
      ProtectionDomainStringに変換します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      このオブジェクトの文字列表現