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

クラスPolicy

java.lang.Object
java.security.Policy

@Deprecated(since="17", forRemoval=true) public abstract class Policy extends Object
削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
このクラスは、非推奨であり、将来のリリースで削除される可能性があります。「セキュリティ・マネージャ」と組み合わせて使用すると便利です。 したがって、このクラスも非推奨となり、削除される可能性があります。 Security Managerまたはこのクラスの交換はありません。
Policyオブジェクトは、Javaランタイム環境で実行されるコードにセキュリティ依存の操作を実行する権限があるかどうかを判断します。

実行時にインストールされるPolicyオブジェクトは1つのみです。 Policyオブジェクトは、setPolicyメソッドをコールしてインストールできます。 インストールされたPolicyオブジェクトは、getPolicyメソッドをコールして取得できます。

Policyオブジェクトがランタイムにインストールされていない場合、getPolicyをコールすると、デフォルトのPolicy実装(この抽象クラスのデフォルトのサブクラス実装)のインスタンスがインストールされます。 デフォルトのPolicy実装を変更するには、policy.providerセキュリティ・プロパティの値を目的のPolicyサブクラス実装の完全修飾名に設定します。 このクラスのロードには、システム・クラス・ローダーが使用されます。

アプリケーション・コードは、Policyを直接サブクラス化して、カスタム実装を提供できます。 また、Policyオブジェクトのインスタンスは、標準タイプのgetInstanceファクトリ・メソッドのいずれかを呼び出して構築できます。 デフォルトのポリシー型はJavaPolicyです。

Policyインスタンスが(デフォルトでは、またはsetPolicyをコールして)にインストールされると、Javaランタイムは、コード(ProtectionDomainにカプセル化)の実行でSecurityManagerで保護された操作を実行できるかどうかを判断する必要があるときに、そのimpliesメソッドを呼び出します。 Policyオブジェクトがポリシー・データを取得する方法は、Policy実装自体までです。 ポリシー・データは、たとえば、フラットなASCIIファイル、Policyクラスの直列化されたバイナリ・ファイル、またはデータベースに格納できます。

refreshメソッドにより、ポリシー・オブジェクトのデータがリフレッシュまたは再読み込みされます。 この操作は実装に依存します。 たとえば、ポリシー・オブジェクトがそのデータを設定ファイルに格納する場合、refreshを呼び出すと、ポリシー構成ファイルが再度読み込まれます。 リフレッシュ操作がサポートされていない場合、このメソッドは何も行いません。 リフレッシュされたポリシーは、特定のProtectionDomainのクラスに対して有効でない場合があります。 これは、ポリシー・プロバイダのimpliesメソッドの実装とそのPermissionCollectionキャッシュ方法に依存します。

導入されたバージョン:
1.2
関連項目: