- すべての実装されたインタフェース:
Serializable
,Guard
- 直系の既知のサブクラス:
AllPermission
,BasicPermission
,CardPermission
,FilePermission
,MBeanPermission
,PrivateCredentialPermission
,ServicePermission
,SocketPermission
,UnresolvedPermission
,URLPermission
ほとんどのPermission
オブジェクトには、オブジェクトに対して許可されるアクションを示す"アクション"リストも含まれます。 たとえばjava.io.FilePermission
オブジェクトでは、アクセス権の名前はファイルまたはディレクトリのパス名で、アクション・リスト(読み込み、書き込みなど)は、指定されたファイル、またはディレクトリ内のファイルにどのアクションが許可されているかを指定します。 アクション・リストは、'このようなリストが必要です。名前付き権限("system.exit"など)を持っているか、または' tを寄付するjava.lang.RuntimePermission
などのPermission
オブジェクトではオプションです。
各サブクラスによって実装しなければならない重要なメソッドは、Permissionsを比較するimplies
メソッドです。 基本的に、「permission p1はpermission p2を包含する」とは、permission p1が許可された場合にはpermission p2も当然許可されるということです。 したがって、これは適性テストではなく、サブセット・テストです。
Permission
オブジェクトは、作成後に変更できないという点で、String
オブジェクトに似ています。 サブクラスは、一度作成されたアクセス権の状態を変更できるメソッドを提供することはできません。
- 導入されたバージョン:
- 1.2
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明void
checkGuard
(Object object) アクセス権のガード・インタフェースを実装します。abstract boolean
2つのPermission
オブジェクトの等価性をチェックします。abstract String
アクションをString
として返します。final String
getName()
このPermission
の名前を返します。abstract int
hashCode()
このPermission
オブジェクトのハッシュ・コード値を返します。abstract boolean
implies
(Permission permission) このオブジェクトのアクションによって、指定されたアクセス権のアクションが包含されるかどうかを判定します。指定されたPermission
オブジェクトの空のPermissionCollection
を返します。定義されていない場合はnull
を返します。toString()
このPermission
を記述する文字列を返します。
-
コンストラクタの詳細
-
Permission
-
-
メソッドの詳細
-
checkGuard
public void checkGuard(Object object) throws SecurityException アクセス権のガード・インタフェースを実装します。SecurityManager.checkPermission
メソッドが呼び出され、このアクセス権オブジェクトを検査対象として渡します。 アクセスが許可されると、何も行わずに復帰します。 それ以外の場合は、SecurityException
をスローします。- 定義:
checkGuard
、インタフェースGuard
- パラメータ:
object
- ガードのあるオブジェクト(現在は無視)。- 例外:
SecurityException
- セキュリティ・マネージャが存在し、セキュリティ・マネージャのcheckPermission
メソッドがアクセスを許可しない場合。- 関連項目:
-
implies
public abstract boolean implies(Permission permission) このオブジェクトのアクションによって、指定されたアクセス権のアクションが包含されるかどうかを判定します。これは、
Permission
オブジェクトにセマンティクスを適用できる唯一のサブクラスであるため、Permission
のサブクラスによって実装される必要があります。implies
メソッドは、リクエストされた権限が、現在の実行コンテキストで有効であることがわかっている別の権限によって暗黙的に指定されているかどうかを判断するためにAccessControllerで使用されます。- パラメータ:
permission
- チェック対象のアクセス権。- 戻り値:
- 指定した権限がこのオブジェクトによって暗黙的に指定されている場合は
true
、そうでない場合はfalse
。
-
equals
-
hashCode
public abstract int hashCode()このPermission
オブジェクトのハッシュ・コード値を返します。Permission
オブジェクトに必要なhashCode
動作は次のとおりです:- Javaアプリケーションの実行中に同じ
Permission
オブジェクトで複数回起動された場合、hashCode
メソッドは一貫して同じ整数を返す必要があります。 ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。 - 2つの
Permission
オブジェクトがequals
メソッドに従って等しい場合、2つのPermission
オブジェクトのそれぞれでhashCode
メソッドをコールすると、同じ整数の結果が生成される必要があります。
- Javaアプリケーションの実行中に同じ
-
getName
public final String getName()このPermission
の名前を返します。 たとえばjava.io.FilePermission
の場合は、名前はパス名になります。- 戻り値:
- この
Permission
の名前。
-
getActions
public abstract String getActions()アクションをString
として返します。 これは抽象的なため、サブクラスでは、必要になるまでString
表現の作成を延期できます。 サブクラスは常に、正規形式と見なす形式でアクションを返さなければいけません。 たとえば、2つのFilePermissionオブジェクトは次の方法で作成されます。perm1 = new FilePermission(p1,"read,write"); perm2 = new FilePermission(p2,"write,read");
getActions
メソッドが呼び出されると、どちらも「read,write」を返します。- 戻り値:
- この
Permission
のアクション。
-
newPermissionCollection
public PermissionCollection newPermissionCollection()指定されたPermission
オブジェクトの空のPermissionCollection
を返します。定義されていない場合はnull
を返します。 クラスPermission
のサブクラスは、PermissionCollection.implies
メソッドが呼び出されたときに正しいセマンティクスを提供するために、特定のPermissionCollection
オブジェクトに権限を格納する必要がある場合、これをオーバーライドする必要があります。null
が返された場合、このメソッドのコール元は、(ハッシュテーブルを使用するもの、ベクターを使用するものなど。)を選択するすべてのPermissionCollection
にこのタイプの権限を自由に格納できます。- 戻り値:
- このタイプの
Permission
の新しいPermissionCollection
オブジェクト、または定義されていない場合はnull
。
-
toString
-