|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.Permission
システムリソースへのアクセスを表現する抽象クラスです。すべてのアクセス権は、特定の Permission サブクラスのセマンティクスを定義するための抽象機能を持つほか、実装をサブクラスに依存する名前を持ちます。
ほとんどの Permission オブジェクトはまた、オブジェクトに許可されているアクションを通知するアクションリストを含みます。たとえば java.io.FilePermission
オブジェクトでは、アクセス権の名前はファイルまたはディレクトリのパス名で、アクションリスト (読み込み、書き込みなど) は、指定されたファイル、またはディレクトリ内のファイルにどのアクションが許可されているかを指定します。アクションリストは、そうしたリストを必要としない java.lang.RuntimePermission
などの Permission オブジェクトではオプションです。ユーザは、名前付きのアクセス権 (system.exit など) を持つ場合と持たない場合があります。
各サブクラスによって実装しなければならない重要なメソッドは、Permissions を比較する implies
メソッドです。基本的に、「permission p1 は permission p2 を包含する」とは、permission p1 が許可された場合には permission p2 も当然許可されるということです。したがって、これは適性テストではなく、サブセットテストです。
Permission オブジェクトは、一度作成すると不変になるという点では String オブジェクトと似ています。サブクラスは、一度作成されたアクセス権の状態を変更できるメソッドを提供することはできません。
Permissions
,
PermissionCollection
,
直列化された形式コンストラクタの概要 | |
Permission(String name)
指定された名前でアクセス権を構築します。 |
メソッドの概要 | |
void |
checkGuard(Object object)
アクセス権のガードインタフェースを実装します。 |
abstract boolean |
equals(Object obj)
2 つの Permission オブジェクトが等しいかどうかを判定します。 |
abstract String |
getActions()
アクションを String で返します。 |
String |
getName()
Permission の名前を返します。 |
abstract int |
hashCode()
Permission オブジェクトのハッシュコード値を返します。 |
abstract boolean |
implies(Permission permission)
このオブジェクトのアクションによって、指定されたアクセス権のアクションが包含されるかどうかを判定します。 |
PermissionCollection |
newPermissionCollection()
指定された Permission オブジェクトの空の PermissionCollection を返します。 |
String |
toString()
Permission を記述する文字列を返します。 |
クラス java.lang.Object から継承したメソッド |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
コンストラクタの詳細 |
public Permission(String name)
name
- 作成する Permission オブジェクトの名前メソッドの詳細 |
public void checkGuard(Object object) throws SecurityException
SecurityManager.checkPermission
メソッドが呼び出され、このアクセス権オブジェクトを検査対象として渡します。アクセスが許可されると、何も行わずに復帰します。そうでない場合は、SecurityException をスローします。
Guard
内の checkGuard
object
- ガードのあるオブジェクト (現在は無視)
SecurityException
- セキュリティマネージャが存在する場合に、セキュリティマネージャの checkPermission
メソッドがアクセスを許可しないときGuard
,
GuardedObject
,
SecurityManager.checkPermission(java.security.Permission)
public abstract boolean implies(Permission permission)
Permission オブジェクトにセマンティクスを課すことができるのは Permission のサブクラスだけなので、このメソッドはそのようなサブクラスによって実装されなければなりません。
implies
メソッドは、AccessController によって使用されます。現在実行中のコンテキストで有効であることがわかっている他のアクセス権によって、要求されたアクセス権が包含されているかどうかを、このメソッドを使って調べます。
permission
- チェック対象のアクセス権
public abstract boolean equals(Object obj)
アクセス制御を決定するのに equals
メソッドは使わないでください。代わりに implies
メソッドを使ってください。
Object
内の equals
obj
- このオブジェクトと等しいかどうかが判定されるオブジェクト
Object.hashCode()
,
Hashtable
public abstract int hashCode()
以下に、Permission オブジェクトの必要な hashCode
動作を示します。
hashCode
メソッドは一貫して同じ整数を返さなければならない。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はない
equals
メソッドに基づいて 2 つの Permission オブジェクトが等しい場合は、2 つの Permission オブジェクトでそれぞれ hashCode
メソッドを呼び出したとき、結果として同じ整数が生成されなければならない
Object
内の hashCode
Object.equals(java.lang.Object)
,
Hashtable
public final String getName()
java.io.FilePermission
の場合は、名前はパス名になります。
public abstract String getActions()
perm1 = new FilePermission(p1,"read,write"); perm2 = new FilePermission(p2,"write,read");
getActions
メソッドが呼び出されると、どちらも "read,write" を返します。
public PermissionCollection newPermissionCollection()
PermissionCollection.implies
メソッドが呼び出されたときに、正しいセマンティクスを提供するために、特定の PermissionCollection オブジェクトにそのアクセス権を格納する必要がある場合、Permission クラスのサブクラスはこのメソッドをオーバーライドします。null が返された場合、このメソッドの呼び出し側はこの種類のアクセス権を、選択するどの PermissionCollection に対しても自由に格納できます (Hashtable を使うもの、Vector を使うものなど)。
public String toString()
Object
内の toString
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.