JavaTM 2 Platform
Std. Ed. v1.3

java.security
クラス UnresolvedPermission

java.lang.Object
  |
  +--java.security.Permission
        |
        +--java.security.UnresolvedPermission
すべての実装インタフェース:
Guard, Serializable

public final class UnresolvedPermission
extends Permission
implements Serializable

UnresolvedPermission クラスを使うと、Policy の初期化のときには「解決されなかった」Permissions を保持できます。解決されていないアクセス権では、実際の Permission クラスは、Policy の初期化時にはまだ存在しません (下記を参照)。

Java 実行時のポリシー (さまざまな主体からコードで利用できるアクセス権を指定する) は、Policy オブジェクトによって表現されます。Policy が初期化または再表示されるたびに、Policy によって許可されるすべてのアクセス権に対して適切なクラスの Permission オブジェクトが作成されます。

ポリシー設定によって参照される多くのアクセス権クラスは、ローカルに存在します (つまり、CLASSPATH で見つかる)。このようなアクセス権のオブジェクトは、Policy の初期化時にインスタンスを生成できます。たとえば、FilePermission クラスは CLASSPATH で見つかるので、いつでも java.io.FilePermission のインスタンスを生成できます。

ほかのアクセス権クラスは、Policy の初期化時にはまだ存在しない場合もあります。たとえば、参照されるアクセス権クラスは、あとでロードされる JAR ファイルに入る場合があります。そのような各クラスでは、UnresolvedPermission のインスタンスが生成されます。このため、UnresolvedPermission は基本的に、アクセス権についての情報を保持する「プレースホルダ」です。

続いて、それまでには解決されていない種類だが、そのクラスはロード済みであるアクセス権に対して AccessController.checkPermission をコードで呼び出すと、その種類の未解決のアクセス権が「解決され」ます。つまり、そのような UnresolvedPermission ではそれぞれ、UnresolvedPermission 内の情報に基づいて、適切なクラスの新しいオブジェクトのインスタンスが生成されます。この新しいオブジェクトは、削除される UnresolvedPermission と置き換わります。

関連項目:
Permission, Permissions, PermissionCollection, Policy, 直列化された形式

コンストラクタの概要
UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
          あとで必要になるアクセス権情報を保持する新しい UnresolvedPermission を作成して、アクセス権が解決されるときに、指定されたクラスの Permission を実際に作成します。
 
メソッドの概要
 boolean equals(Object obj)
          2 つの UnresolvedPermission オブジェクトが等しいかどうかを判定します。
 String getActions()
          アクションの標準的な文字列表現を返します。
 int hashCode()
          このオブジェクトのハッシュコード値を返します。
 boolean implies(Permission p)
          未解決のアクセス権に対して常に false を返します。
 PermissionCollection newPermissionCollection()
          UnresolvedPermission オブジェクトを格納するための新しい PermissionCollection オブジェクトを返します。
 String toString()
          この UnresolvedPermission を記述する文字列を返します。
 
クラス java.security.Permission から継承したメソッド
checkGuard, getName
 
クラス java.lang.Object から継承したメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

UnresolvedPermission

public UnresolvedPermission(String type,
                            String name,
                            String actions,
                            Certificate[] certs)
あとで必要になるアクセス権情報を保持する新しい UnresolvedPermission を作成して、アクセス権が解決されるときに、指定されたクラスの Permission を実際に作成します。
パラメータ:
type - この解決されていないアクセス権が解決されたときに作成される Permission クラスのクラス名です。
name - アクセス権の名前
actions - アクセス権のアクションです。
certs - アクセス権のクラスの署名で使われた証明書。これは、証明連鎖のリストであり、それぞれの連鎖は署名者の証明書およびその証明書がサポートする証明連鎖 (オプション) から構成される。各連鎖は、下位から上位の順に並べられる (つまり、署名者の証明書が最初で、(ルートの) 証明書発行局が最後)
メソッドの詳細

implies

public boolean implies(Permission p)
未解決のアクセス権に対して常に false を返します。つまり、UnresolvedPermission は別のアクセス権を含むものとは見なされません。
オーバーライド:
クラス Permission 内の implies
パラメータ:
p - チェックするアクセス権
戻り値:
false

equals

public boolean equals(Object obj)
2 つの UnresolvedPermission オブジェクトが等しいかどうかを判定します。obj が UnresolvedPermission で、このオブジェクトと同じ型 (クラス) の名前、アクセス権の名前、アクション、証明書を持つかどうかを調べます。
オーバーライド:
クラス Permission 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかが判定されるオブジェクト
戻り値:
obj が UnresolvedPermission で、このオブジェクトと同じ型 (クラス) の名前、アクセス権の名前、アクション、証明書を持つ場合は true

hashCode

public int hashCode()
このオブジェクトのハッシュコード値を返します。
オーバーライド:
クラス Permission 内の hashCode
戻り値:
このオブジェクトのハッシュコード値

getActions

public String getActions()
アクションの標準的な文字列表現を返します。この文字列表現は、現在は空の文字列 "" です。これは、UnresolvedPermission に対応するアクションがないためです。つまり、この UnresolvedPermission の解決時に作成されるアクセス権のアクションは null 以外になりますが、UnresolvedPermission 自身がなんらかのアクションを持つと見なされることはありません。
オーバーライド:
クラス Permission 内の getActions
戻り値:
空の文字列 ""

toString

public String toString()
この UnresolvedPermission を記述する文字列を返します。規約では、クラス名、アクセス権の名前、およびアクションが、'(unsolved "ClassName" "name" "actions")' という形式で指定されます。
オーバーライド:
クラス Permission 内の toString
戻り値:
この UnresolvedPermission についての情報

newPermissionCollection

public PermissionCollection newPermissionCollection()
UnresolvedPermission オブジェクトを格納するための新しい PermissionCollection オブジェクトを返します。

オーバーライド:
クラス Permission 内の newPermissionCollection
戻り値:
UnresolvedPermissions を格納するのに適切な新しい PermissionCollection オブジェクト

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.