|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--java.security.PermissionCollection
Permission オブジェクトのコレクションを表す抽象クラスです。
PermissionCollection を使うと、以下の処理を行えます。
add
メソッドを使って、コレクションにアクセス権を追加する
implies
メソッドを使って、特定のアクセス権がコレクションに含まれているかどうかを調べる
elements
メソッドを使って、すべてのアクセス権を列挙する
同じ種類の相当数の Permission オブジェクトを一緒にグループ化するには、特定種類の Permission オブジェクトの newPermissionCollection
メソッドをまず呼び出さなければなりません。デフォルトの動作 (Permission クラスから) では単純に null を返します。Permission クラスのサブクラスは、PermissionCollection.implies
メソッドの呼び出し時に正しいセマンティクスを提供するためにそのアクセス権を特定の PermissionCollection オブジェクトに格納する必要がある場合、newPermissionCollection
メソッドをオーバーライドします。null 以外の値が返されると、その PermissionCollection が使用されなければなりません。null が返されると、newPermissionCollection
の呼び出し側は指定された種類のアクセス権を、選択するどの PermissionCollection に対しても自由に格納できます (Hashtable を使うもの、Vector を使うものなど)。
Permission.newPermissionCollection
メソッドが返す PermissionCollection は同種コレクションであり、指定された種類のアクセス権の Permission オブジェクトだけを格納します。PermissionCollection は異種コレクションでもあります。たとえば Permissions は、PermissionCollections のコレクションを表す PermissionCollection サブクラスです。つまりそのメンバは、それぞれが同種の PermissionCollection です。たとえば Permissions オブジェクトは、すべての FilePermission オブジェクトに対しては FilePermissionCollection、すべての SocketPermission オブジェクトに対しては SocketPermissionCollection などといった対応でコレクションを持ちます。その add
メソッドはアクセス権を適切なコレクションに追加します。
Permissions などの異種の PermissionCollection にアクセス権が追加されるとき、および指定された種類のアクセス権の PermissionCollection を PermissionCollection がまだ保持していないときは、PermissionCollection はアクセス権のクラスで newPermissionCollection
メソッドを呼び出して、それが特別な PermissionCollection を必要とするかどうかを調べなければなりません。newPermissionCollection
が null を返すと、PermissionCollection は希望するどの種類の PermissionCollection にでもアクセス権を格納できます (Hastable を使うもの、Vector を使うものなど)。たとえば Permissions オブジェクトは、アクセス権オブジェクトを Hashtable に格納する、デフォルトの PermissionCollection 実装を使います。
Permission
,
Permissions
, 直列化された形式コンストラクタの概要 | |
PermissionCollection()
|
メソッドの概要 | |
abstract void |
add(Permission permission)
アクセス権オブジェクトの現在のコレクションにアクセス権オブジェクトを追加します。 |
abstract Enumeration |
elements()
コレクション内のすべての Permission オブジェクトの列挙を返します。 |
abstract boolean |
implies(Permission permission)
指定されたアクセス権が、この PermissionCollection で保持される Permission オブジェクトのコレクションによって包含されるかどうかを判定します。 |
boolean |
isReadOnly()
PermissionCollection オブジェクトが読み込み専用としてマークされている場合に true を返します。 |
void |
setReadOnly()
PermissionCollection オブジェクトを「読み込み専用」としてマークします。 |
String |
toString()
PermissionCollection オブジェクトを記述する文字列を返し、オブジェクトが保持するすべてのアクセス権についての情報を提供します。 |
クラス java.lang.Object から継承したメソッド |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
コンストラクタの詳細 |
public PermissionCollection()
メソッドの詳細 |
public abstract void add(Permission permission)
permission
- 追加される Permission オブジェクトpublic abstract boolean implies(Permission permission)
permission
- 比較対象の Permission オブジェクトpublic abstract Enumeration elements()
public void setReadOnly()
addPermission
で PermissionCollection に追加することはできません。public boolean isReadOnly()
addPermission
で PermissionCollection に追加することはできません。
デフォルトでは、オブジェクトは読み取り専用ではありません。setReadOnly
を呼び出すことによって読み取り専用に設定することができます。
public String toString()
super.toString() ( // enumerate all the Permission // objects and call toString() on them, // one per line.. )
super.toString
は、このオブジェクトのスーパークラス (つまり Object) の toString
メソッドの呼び出しです。結果として返されるのは、この PermissionCollection の種類名のあとにこのオブジェクトのハッシュコードが続く文字列なので、複数の PermissionCollections オブジェクトが同じアクセス権を保持する場合でも、クライアントは各オブジェクトを区別できます。
|
Java プラットフォーム 1.2 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 内部クラス | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |