クラスPermission
java.lang.Object
java.security.Permission
- すべての実装されたインタフェース:
Serializable,Guard
- 直系の既知のサブクラス:
AllPermission,BasicPermission,CardPermission,FilePermission,MBeanPermission,PrivateCredentialPermission,ServicePermission,SocketPermission,UnresolvedPermission,URLPermission
public abstract class Permission extends Object implements Guard, Serializable
システム・リソースへのアクセスを表現する抽象クラスです。 すべてのアクセス権は、特定のPermissionサブクラスのセマンティックスを定義するための抽象機能を持つほか、実装をサブクラスに依存する名前を持ちます。
ほとんどの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
- 関連項目:
-
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明voidcheckGuard(Object object) アクセス権のガード・インタフェースを実装します。abstract boolean2つのPermissionオブジェクトの等価性をチェックします。abstract StringアクションをStringとして返します。final StringgetName()このPermissionの名前を返します。abstract inthashCode()このPermissionオブジェクトのハッシュ・コード値を返します。abstract booleanimplies(Permission permission) このオブジェクトのアクションによって、指定されたアクセス権のアクションが包含されるかどうかを判定します。指定されたPermissionオブジェクトの空のPermissionCollectionを返します。定義されていない場合はnullを返します。toString()このPermissionを記述する文字列を返します。
-
コンストラクタの詳細
-
Permission
-
-
メソッドの詳細
-
checkGuard
public void checkGuard(Object object) throws SecurityException アクセス権のガード・インタフェースを実装します。 アクセスが許可されると、何も行わずに復帰します。 それ以外の場合は、SecurityExceptionをスローします。- 定義:
checkGuard、インタフェースGuard- APIのノート:
- セキュリティ・マネージャが有効で、この権限で指定されたリクエストされたアクセスが許可されなかった場合、このメソッドは当初
SecurityExceptionをスローしました。 「セキュリティ・マネージャ」はサポートされなくなったため、このメソッドは常にSecurityExceptionをスローします。 - パラメータ:
object- ガードのあるオブジェクト(現在は無視)。- スロー:
SecurityException- 常に- 関連項目:
-
implies
public abstract boolean implies(Permission permission) このオブジェクトのアクションによって、指定されたアクセス権のアクションが包含されるかどうかを判定します。これは、
Permissionオブジェクトにセマンティクスを適用できる唯一のサブクラスであるため、Permissionのサブクラスによって実装される必要があります。- パラメータ:
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
-