|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.security.Permission java.security.UnresolvedPermission
public final class UnresolvedPermission
UnresolvedPermission クラスを使うと、Policy の初期化時に「解決されなかった」Permission を保持できます。解決されていないアクセス権とは、Policy の初期化時に実際の Permission クラスがまだ存在していないアクセス権のことです (下記を参照)。
Java 実行時のポリシー (さまざまな主体からコードで利用できるアクセス権を指定する) は、Policy オブジェクトによって表現されます。Policy が初期化または再表示されるたびに、Policy によって許可されるすべてのアクセス権に対して適切なクラスの Permission オブジェクトが作成されます。
ポリシーの構成によって参照されるアクセス権クラスタイプの多くは、ローカルに存在します (つまり、CLASSPATH 上に置かれている)。このようなアクセス権のオブジェクトは、Policy の初期化時にインスタンスを生成できます。たとえば、FilePermission クラスは CLASSPATH で見つかるので、いつでも java.io.FilePermission のインスタンスを生成できます。
ほかのアクセス権クラスは、Policy の初期化時にはまだ存在しない場合もあります。たとえば、参照されたアクセス権クラスは、あとにロードされる JAR ファイル内にある可能性があります。そのような各クラスでは、UnresolvedPermission のインスタンスが生成されます。このため、UnresolvedPermission は基本的に、アクセス権についての情報を保持する「プレースホルダ」です。
その後、以前解決されなかったがその後クラスがロードされた型のアクセス権に対し、AccessController.checkPermission がコード内から呼び出されると、その型の未解決のアクセス権が「解決され」ます。つまり、そのような個々の UnresolvedPermission ごとに、UnresolvedPermission 内の情報に基づいて適切なクラス型の新しいオブジェクトが生成されます。
新しいクラスをインスタンス化するために、UnresolvedPermission は、その新しいクラスが引数なしコンストラクタ、1 つの引数をとるコンストラクタ、2 つの引数をとるコンストラクタの、いずれかまたはそのすべてを提供するものと仮定します。引数なしコンストラクタは、名前とアクションを持たないアクセス権をインスタンス化する場合に使用されます。また、1 つの引数をとるコンストラクタは String
型の名前を入力として受け取るものと仮定され、2 つの引数をとるコンストラクタは String
型の名前と String
型のアクションを入力として受け取るものと仮定されます。UnresolvedPermission は、名前またはアクションあるいはその両方に null
を指定してコンストラクタを呼び出すこともあります。適切なアクセス権コンストラクタが見つからない場合、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 |
コンストラクタの詳細 |
---|
public UnresolvedPermission(String type, String name, String actions, Certificate[] certs)
type
- この解決されていないアクセス権が解決されたときに作成される Permission クラスのクラス名name
- アクセス権の名前actions
- アクセス権のアクションです。certs
- アクセス権のクラスの署名で使われた証明書。
これは証明書チェーンのリストであり、それぞれのチェーンは署名者の証明書およびそれをサポートする証明書チェーン (オプション) から構成される。
各チェーンは下位から上位の順に並べられる。つまり、署名者の証明書が最初で、(ルートの) 証明書発行局が最後になるメソッドの詳細 |
---|
public boolean implies(Permission p)
Permission
内の implies
p
- チェック対象のアクセス権
public boolean equals(Object obj)
Permission
内の equals
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクト
Object.hashCode()
,
Hashtable
public int hashCode()
Permission
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public String getActions()
Permission
内の getActions
public String toString()
Permission
内の toString
public PermissionCollection newPermissionCollection()
Permission
内の newPermissionCollection
|
Foundation 1.1.2 | |||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。