JavaTM 2 Platform
Standard Ed. 5.0

java.security
クラス ProtectionDomain

java.lang.Object
  上位を拡張 java.security.ProtectionDomain

public class ProtectionDomain
extends Object

ProtectionDomain クラスは、ドメインの属性をカプセル化し、与えられた Principal のセットの代わりに実行される場合に、そのインスタンスに対してアクセス権のセットが与えられるクラスのセットを含みます。

アクセス権の静的セットは、構築されたときに 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 に変換します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions)
指定された CodeSource と Permissions で新規 ProtectionDomain を作成します。アクセス権オブジェクトが null でない場合、setReadOnly() が渡された Permissions オブジェクトで呼び出されます。このドメインに許可されるのは指定されたアクセス権だけであり、現在のポリシーは調べられません。

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

ProtectionDomain

public ProtectionDomain(CodeSource codesource,
                        PermissionCollection permissions,
                        ClassLoader classloader,
                        Principal[] principals)
指定された CodeSource、Permissions、ClassLoader、および Principals 配列で新規 ProtectionDomain を作成します。アクセス権オブジェクトが null でない場合、setReadOnly() が渡された Permissions オブジェクトで呼び出されます。このドメインに許可されたアクセス権は動的です。コンストラクタに渡された静的アクセス権と、アクセス権を確認するときの現在のポリシーによって許可されるアクセス権との両方が含まれます。

通常、コンストラクタは ClassLoadersDomainCombiners とによって使用されます。ClassLoader と DomainCombiner は、このドメインに許可されたアクセス権にアクティブに関連させるために Policy に委譲されます。このコンストラクタでは、ポリシーの変更を反映する指定された PermissionCollection を拡張するため、Policy プロバイダに機会を提供します。

パラメータ:
codesource - このドメインに関連した CodeSource
permissions - このドメインに与えられたアクセス権
classloader - このドメインに関連した ClassLoader
principals - このドメインに関連した Principal 配列。この配列の内容は、後続の変更に影響されないようにコピーされる
導入されたバージョン:
1.4
関連項目:
Policy.refresh(), Policy.getPermissions(ProtectionDomain)
メソッドの詳細

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 になることもある
関連項目:
Policy.refresh(), Policy.getPermissions(ProtectionDomain)

implies

public boolean implies(Permission permission)
この ProtectionDomain が、Permission オブジェクトで表現されるアクセス権を包含するかどうかを判定します。

評価されるアクセス権のセットは、ProtectionDomain がアクセス権の静的セットで構築されたか、あるいは動的にマップされたアクセス権のセットにバインドされているかによって変わります。

ProtectionDomain が静的にバインドされた PermissionCollection によって構築された場合、構築時に提供された PermissionCollection に対してアクセス権が確認されるだけです。

しかし、動的にバインドしているアクセス権をサポートするコンストラクタバリアントで ProtectionDomain が構築されている場合、構築時に提供された PermissionCollection と現在の Policy 割り当てとの組み合わせに対してもアクセス権が確認されます。

パラメータ:
permission - チェック対象の Permission オブジェクト
戻り値:
アクセス権がこの ProtectionDomain で暗黙的に許可されている場合は true

toString

public String toString()
ProtectionDomain を String に変換します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。