public class ProtectionDomain extends Object
アクセス権の静的セットは、構築されたときにProtectionDomainにバインドされています。そのようなアクセス権は、Policyに関係なくすべてドメインに与えられています。 しかし、動的なセキュリティ・ポリシーをサポートするには、アクセス権を確認するときは常に現在のPolicyによってアクセス権のセットに動的にマップされているようにProtectionDomainも構築します。
| コンストラクタ | 説明 | 
|---|---|
ProtectionDomain(CodeSource codesource, PermissionCollection permissions) | 
 指定されたCodeSourceとPermissionsで新規ProtectionDomainを作成します。 
 | 
ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals) | 
 指定されたCodeSource、Permissions、ClassLoader、およびPrincipals配列で新規ProtectionDomainを作成します。 
 | 
| 修飾子と型 | メソッド | 説明 | 
|---|---|---|
ClassLoader | 
getClassLoader() | 
 このドメインのClassLoaderを返します。 
 | 
CodeSource | 
getCodeSource() | 
 このドメインのCodeSourceを返します。 
 | 
PermissionCollection | 
getPermissions() | 
 このドメインに与えられた静的アクセス権を返します。 
 | 
Principal[] | 
getPrincipals() | 
 このドメインの主体の配列を返します。 
 | 
boolean | 
implies(Permission permission) | 
 このProtectionDomainが、Permissionオブジェクトで表現されるアクセス権を包含するかどうかを判定します。 
 | 
String | 
toString() | 
 ProtectionDomainをStringに変換します。 
 | 
public ProtectionDomain(CodeSource codesource, PermissionCollection permissions)
setReadOnly())が渡されたPermissionsオブジェクトで呼び出されます。 このドメインに許可されるのは指定されたアクセス権だけであり、現在のポリシーは調べられません。 codesource - このドメインに関連したコード・ソースpermissions - このドメインに与えられたアクセス権public ProtectionDomain(CodeSource codesource, PermissionCollection permissions, ClassLoader classloader, Principal[] principals)
setReadOnly()が渡されたPermissionsオブジェクトで呼び出されます。 このドメインに許可されたアクセス権は動的です。コンストラクタに渡された静的アクセス権と、アクセス権を確認するときの現在のポリシーによって許可されるアクセス権との両方が含まれます。 
 
 通常、このコンストラクタはClassLoadersとDomainCombinersによって使用されます。ClassLoaderとDomainCombinerは、このドメインに許可されたアクセス権にアクティブに関連付けるためにPolicyに委譲されます。 このコンストラクタでは、ポリシーの変更を反映する指定されたPermissionCollectionを拡張するため、Policyプロバイダに機会を提供します。 
 
codesource - このドメインに関連したCodeSourcepermissions - このドメインに与えられたアクセス権classloader - このドメインに関連したClassLoaderprincipals - このドメインに関連付けられたPrincipalの配列。 この配列の内容は、後続の変更に影響されないようにコピーされる。 Policy.refresh(), Policy.getPermissions(ProtectionDomain)public final CodeSource getCodeSource()
public final ClassLoader getClassLoader()
public final Principal[] getPrincipals()
public final PermissionCollection getPermissions()
Policy.refresh(), Policy.getPermissions(ProtectionDomain)public boolean implies(Permission permission)
評価されるアクセス権のセットは、ProtectionDomainがアクセス権の静的セットで構築されたか、あるいは動的にマップされたアクセス権のセットにバインドされているかによって変わります。
 ProtectionDomainが静的にバインドされた(statically bound) PermissionCollectionによって構築された場合、構築時に提供されたPermissionCollectionに対してアクセス権が確認されるだけです。
 
 しかし、動的にバインドしている(dynamically binding)アクセス権をサポートするコンストラクタ・バリアントでProtectionDomainが構築されている場合、構築時に提供されたPermissionCollectionと現在のPolicy割り当てとの組み合わせに対してもアクセス権が確認されます。
 
permission - チェック対象のPermissionオブジェクト。 バグまたは機能を送信 
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。 
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved.  Use is subject to license terms.  Documentation Redistribution Policyも参照してください。