|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
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 は削除されます。
なお、特定の UnresolvedPermission
の getName
メソッドから返される値は、解決されなかった実際のアクセス権の「型」(クラス名) である点に注意してください。
Permission
,
Permissions
,
PermissionCollection
,
Policy
,
直列化された形式コンストラクタの概要 | |
---|---|
UnresolvedPermission(String type,
String name,
String actions,
Certificate[] certs)
あとで必要になるアクセス権情報を保持する新しい UnresolvedPermission を作成して、アクセス権が解決されるときに、指定されたクラスの Permission を実際に作成します。 |
メソッドの概要 | |
---|---|
boolean |
equals(Object obj)
2 つの UnresolvedPermission オブジェクトが等しいかどうかを判定します。 |
String |
getActions()
アクションの正規の文字列表現を返します。 |
String |
getUnresolvedActions()
解決されていない実際のアクセス権のアクションを取得します。 |
Certificate[] |
getUnresolvedCerts()
解決されていない実際のアクセス権に対する署名者の証明書 (それをサポートする連鎖は含まない) を取得します。 |
String |
getUnresolvedName()
解決されていない実際のアクセス権のターゲット名を取得します。 |
String |
getUnresolvedType()
解決されていない実際のアクセス権の型 (クラス名) を取得します。 |
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
- アクセス権のクラスの署名で使われた証明書。これは証明書チェーンのリストであり、それぞれの連鎖は署名者の証明書およびそれをサポートする証明書チェーン (オプション) から構成される。各連鎖は下位から上位の順に並べられる。つまり、署名者の証明書が最初で、(ルートの) 証明書発行局が最後になる。署名者の証明書は配列からコピーされる。その後配列が変更されても、この UnsolvedPermission にその影響が及ぶことはないメソッドの詳細 |
---|
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 getUnresolvedType()
public String getUnresolvedName()
null
public String getUnresolvedActions()
null
public Certificate[] getUnresolvedCerts()
public String toString()
Permission
内の toString
public PermissionCollection newPermissionCollection()
Permission
内の newPermissionCollection
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。