JavaTM 2 Platform
Standard Ed. 5.0

javax.management
クラス MBeanPermission

java.lang.Object
  上位を拡張 java.security.Permission
      上位を拡張 javax.management.MBeanPermission
すべての実装されたインタフェース:
Serializable, Guard

public class MBeanPermission
extends Permission

MBeanServer オペレーションのアクセスを制御するアクセス権です。System.setSecurityManager(java.lang.SecurityManager) でセキュリティマネージャが設定されている場合、MBean サーバ上で何らかのオペレーションを実行するためには、通常、そのオペレーションに適した MBeanPermission が呼び出し元のアクセス権として含まれていなければなりません。詳細については、MBeanServer インタフェースのマニュアルを参照してください。

その他の Permission オブジェクトの場合と同様に、MBeanPermission は、ユーザに付与されているアクセス権、またはユーザが必要とするアクセス権を表します。重要なオペレーションを実行する際にはアクセス権のチェックが行われますが、このとき、必要なアクセス権を表す MBeanPermission が構築されます。ユーザに付与されているアクセス権に、ユーザが必要とするアクセス権が含まれている場合にかぎり、オペレーションは許可されます。

MBeanPermission には、次の 4 項目の情報が含まれます。

MBeanPermission を付与されている場合は、この 4 項目すべてが満たされた場合にのみオペレーションが許可されます。

クラス名、メンバ、オブジェクト名は、単一の文字列として同時に書き込めます。この文字列が、このアクセス権の名前になります。アクセス権の名前は、getName() によって返される文字列です。文字列の形式は次のとおりです。

className#member[objectName]

オブジェクト名は、ObjectName の通常構文によって書き込まれます。オブジェクト名には、] を含む有効な文字を含めることができます。文字列の末尾の文字は ] です。

classNamememberobjectName は省略可能です。member が省略された場合、# も省略されます (ただし必ずしも省略されるとはかぎらない)。objectName が省略された場合、[] も省略されます (ただし必ずしも省略されるとはかぎらない)。これら 3 つの項目全部を省略することはできません。つまり、name を空文字列にすることはできません。

classNamememberobjectName には、null 値を表す文字「-」を指定できます。null 値はすべての値 (別の null 値を含む) に含まれますが、その他の値を含むことはありません。

以下のアクションを選択できます。

コンマで区切られた形式のアクションリストでは、各アクションの前後にスペースを挿入できます。

導入されたバージョン:
1.5
関連項目:
直列化された形式

コンストラクタの概要
MBeanPermission(String name, String actions)
          指定されたターゲット名およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。
MBeanPermission(String className, String member, ObjectName objectName, String actions)
          指定されたターゲット名 (クラス名、メンバ、オブジェクト名) およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。
 
メソッドの概要
 boolean equals(Object obj)
          2 つの MBeanPermission オブジェクトが同じであるかどうかを判定します。
 String getActions()
          アクションの「標準的な文字列表現」を返します。
 int hashCode()
          このオブジェクトのハッシュコード値を返します。
 boolean implies(Permission p)
          この MBeanPermission オブジェクトに、指定されたアクセス権が含まれているかどうかを判定します。
 
クラス java.security.Permission から継承されたメソッド
checkGuard, getName, newPermissionCollection, toString
 
クラス java.lang.Object から継承されたメソッド
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

MBeanPermission

public MBeanPermission(String name,
                       String actions)

指定されたターゲット名およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。

ターゲット名は、className#member[objectName] の形式になります。各部分は任意ですが、空文字列や null は指定できません。

アクションパラメータには、ターゲット名に対して付与された必要なアクションのリスト (コンマ区切り形式) が含まれます。空文字列や null は指定できません。

パラメータ:
name - トリプレット className#member[objectName]
actions - アクションの文字列
例外:
IllegalArgumentException - name または actions が無効な場合

MBeanPermission

public MBeanPermission(String className,
                       String member,
                       ObjectName objectName,
                       String actions)

指定されたターゲット名 (クラス名、メンバ、オブジェクト名) およびアクションを持つ新しい MBeanPermission オブジェクトを作成します。

クラス名、メンバ、およびオブジェクト名のパラメータにより、className#member[objectName] の形式のターゲット名が定義されます (各部分は任意)。作成された MBeanPermission 上で Permission.getName() を実行すると、この名前が出力されます。

アクションパラメータには、ターゲット名に対して付与された必要なアクションのリスト (コンマ区切り形式) が含まれます。空文字列や null は指定できません。

パラメータ:
className - このアクセス権が適用されるクラス名。null または "-" の場合もあり、任意のクラス名に含まれるクラス名を表すが、その他のクラス名を含むことはない
member - このアクセス権が適用されるメンバ。null または "-" の場合もあり、任意のメンバに含まれるメンバを表すが、その他のメンバを含むことはない
objectName - このアクセス権が適用されるオブジェクト名。null の場合もあり、任意のオブジェクト名に含まれるオブジェクト名を表すが、その他のオブジェクト名を含むことはない
actions - アクションの文字列
メソッドの詳細

getActions

public String getActions()
アクションの「標準的な文字列表現」を返します。つまり、このメソッドは常に、アルファベット順で現在のアクションを返します。

定義:
クラス Permission 内の getActions
戻り値:
アクションの標準的な文字列表現

hashCode

public int hashCode()
このオブジェクトのハッシュコード値を返します。

定義:
クラス Permission 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

implies

public boolean implies(Permission p)

この MBeanPermission オブジェクトに、指定されたアクセス権が含まれているかどうかを判定します。

つまり、このメソッドは次の場合に true を返します。

このオブジェクトの className が * の場合、p の className は常にこれに一致します。a.* の場合、p の className が a. で始まるならば、これに一致します。

このオブジェクトのメンバが * の場合、p のメンバは常にこれに一致します。

このオブジェクトの objectName n1 がオブジェクト名パターンである場合、n1.equals(n2) または n1.apply(n2) ならば、p の objectName n2 は、これに一致します。

queryMBeans アクションを含むアクセス権は、queryNames も含むものと見なされます。

定義:
クラス Permission 内の implies
パラメータ:
p - チェック対象のアクセス権
戻り値:
指定されたアクセス権がこのオブジェクトに含まれる場合は true、そうでない場合は false

equals

public boolean equals(Object obj)
2 つの MBeanPermission オブジェクトが同じであるかどうかを判定します。obj が MBeanPermission であり、オブジェクトと同じ名前とアクションを持っているかどうかを判定します。

定義:
クラス Permission 内の equals
パラメータ:
obj - このオブジェクトと等しいかどうかを判定するオブジェクト
戻り値:
obj が MBeanPermission であり、MBeanPermission オブジェクトと同じ名前とアクションを持っている場合は true
関連項目:
Object.hashCode(), Hashtable

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。