public class MBeanInfo extends Object implements Cloneable, Serializable, DescriptorRead
MBean によって公開された管理インタフェース (管理オペレーションに使用できる属性と操作のセット) を記述します。このクラスのインスタンスは不変です。サブクラスは可変ですが、サブクラスの変更は推奨されていません。
通常、指定した MBean の MBeanInfo
は、MBean の有効期間中は変更されません。Dynamic MBean は MBeanInfo
を変更できます。この場合、"jmx.mbean.info.changed"
の型を使用した Notification
と、新しい MBeanInfo
である userData を Dynamic MBean により発行することをお勧めします。これは必須ではありませんが、MBean のクライアントが変更を検出するために従来の方法を提供します。MBeanInfo
Descriptor
の immutableInfo および infoTimeout フィールドも参照してください。
Dynamic MBean によって使用される MBeanInfo
のコンテンツは、getMBeanInfo()
メソッドによって決定されます。Dynamic MBean である Open MBean、Model MBean が含まれます。
Standard MBean によって使用される MBeanInfo
のコンテンツは、MBean サーバーにより、次のように決定されます。
getClassName()
。MBean オブジェクトの Java クラス名を返します。
getConstructors()
。そのオブジェクト内のすべての public コンストラクタのリストを返します。
getAttributes()
。すべての属性のリストを返します。その属性が存在するかどうかは、Standard MBean の規約に準拠した getName
、isName
、または setName
メソッドの MBean インタフェース内に存在するかどうかで推測できます。
getOperations()
。属性を表さない MBean インタフェース内のすべてのメソッドのリストを返します。
getNotifications()
。MBean が NotificationBroadcaster
インタフェースを実装しない場合は空の配列、それ以外の場合は NotificationBroadcaster.getNotificationInfo()
の呼び出しの結果を返します。
getDescriptor()
。MBean インタフェース内の記述子注釈の内容を含む記述子を返します (@DescriptorKey
を参照)。
getDescription()
が返す記述子と含まれている属性およびオペレーションの記述子は指定されません。
Standard MBean によって使用される MBeanInfo
のその他の詳細情報は指定されません。指定されない詳細情報には、含まれるコンストラクタおよび通知の説明、コンストラクタやオペレーションに渡されるパラメータの名前、コンストラクタパラメータの説明が含まれます。
コンストラクタと説明 |
---|
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications)
MBeanInfo を構築します。 |
MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor)
MBeanInfo を構築します。 |
修飾子と型 | メソッドと説明 |
---|---|
Object |
clone()
このインスタンスのシャローコピーを返します。
|
boolean |
equals(Object o)
この MBeanInfo を別の MBeanInfo と比較します。
|
MBeanAttributeInfo[] |
getAttributes()
管理用の公開属性のリストを返します。
|
String |
getClassName()
この
MBeanInfo によって記述された MBean の Java クラスの名前を返します。 |
MBeanConstructorInfo[] |
getConstructors()
MBean の public コンストラクタのリストを返します。
|
String |
getDescription()
人間が読める形式の MBean の説明を返します。
|
Descriptor |
getDescriptor()
この MBeanInfo の記述子を取得します。
|
MBeanNotificationInfo[] |
getNotifications()
MBean によって発行された通知のリストを返します。
|
MBeanOperationInfo[] |
getOperations()
MBean のオペレーションのリストを返します。
|
int |
hashCode()
オブジェクトのハッシュコード値を返します。
|
String |
toString()
オブジェクトの文字列表現を返します。
|
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications) throws IllegalArgumentException
MBeanInfo
を構築します。className
- この MBeanInfo
で記述される MBean の Java クラスの名前。この値には正しい構文の任意の Java クラス名を指定できる。必ずしも、MBean サーバーまたは MBean の ClassLoader の既知の Java クラスでなくてもよい。MBean の ClassLoader の既知の Java クラスである場合、クラスの public メソッドに、この MBeanInfo 内の属性とオペレーションを実装する Standard MBean 内のメソッドを含めることが推奨されるが、これは必須ではない。description
- 人間が読める形式の MBean の説明 (省略可能)。attributes
- MBean の公開属性のリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。constructors
- MBean の public コンストラクタのリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。operations
- MBean のオペレーションのリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。notifications
- 発行された通知のリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。IllegalArgumentException
public MBeanInfo(String className, String description, MBeanAttributeInfo[] attributes, MBeanConstructorInfo[] constructors, MBeanOperationInfo[] operations, MBeanNotificationInfo[] notifications, Descriptor descriptor) throws IllegalArgumentException
MBeanInfo
を構築します。className
- この MBeanInfo
で記述される MBean の Java クラスの名前。この値には正しい構文の任意の Java クラス名を指定できる。必ずしも、MBean サーバーまたは MBean の ClassLoader の既知の Java クラスでなくてもよい。MBean の ClassLoader の既知の Java クラスである場合、クラスの public メソッドに、この MBeanInfo 内の属性とオペレーションを実装する Standard MBean 内のメソッドを含めることが推奨されるが、これは必須ではない。description
- 人間が読める形式の MBean の説明 (省略可能)。attributes
- MBean の公開属性のリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。constructors
- MBean の public コンストラクタのリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。operations
- MBean のオペレーションのリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。notifications
- 発行された通知のリスト。ゼロ長の配列を指定した場合と同様に、null になる場合もある。descriptor
- MBean の記述子。null の場合があり、これは空の記述子と同等。IllegalArgumentException
public Object clone()
このインスタンスのシャローコピーを返します。このコピーは、super.clone() の呼び出し (Object.clone() によって実装されるデフォルトのネイティブシャローコピーメカニズムの呼び出し) によって取得されます。内部フィールドについて、これ以上詳細なコピーは作成されません。
このクラスは不変なので、コピーメソッドは主にサブクラスにとって重要になります。
public String getClassName()
MBeanInfo
によって記述された MBean の Java クラスの名前を返します。public String getDescription()
public MBeanAttributeInfo[] getAttributes()
MBeanAttributeInfo
オブジェクトによって記述されます。
返される配列は、内部配列のシャローコピー、つまり MBeanAttributeInfo
オブジェクトを参照する内部配列のコピーになります。ただし、参照される各 MBeanAttributeInfo
オブジェクトはコピーされません。MBeanAttributeInfo
オブジェクトの配列。public MBeanOperationInfo[] getOperations()
MBeanOperationInfo
オブジェクトによって記述されます。
返される配列は、内部配列のシャローコピー、つまり MBeanOperationInfo
オブジェクトを参照する内部配列のコピーになります。ただし、参照される各 MBeanOperationInfo
オブジェクトはコピーされません。MBeanOperationInfo
オブジェクトの配列。public MBeanConstructorInfo[] getConstructors()
MBean の public コンストラクタのリストを返します。各コンストラクタは MBeanConstructorInfo
オブジェクトによって記述されます。
返される配列は、内部配列のシャローコピー、つまり MBeanConstructorInfo
オブジェクトを参照する内部配列のコピーになります。ただし、参照される各 MBeanConstructorInfo
オブジェクトはコピーされません。
返されるリストは完全でなくてもかまいません。つまり、MBean は、リストにない public コンストラクタを持つこともできます。この場合、MBean サーバーは、リストに含まれているかどうかに関係なく、コンストラクタを使って、この MBean のクラスのインスタンスを新たに構築できます。
MBeanConstructorInfo
オブジェクトの配列。public MBeanNotificationInfo[] getNotifications()
MBeanNotificationInfo
オブジェクトによって記述されます。
返される配列は、内部配列のシャローコピー、つまり MBeanNotificationInfo
オブジェクトを参照する内部配列のコピーになります。ただし、参照される各 MBeanNotificationInfo
オブジェクトはコピーされません。MBeanNotificationInfo
オブジェクトの配列。public Descriptor getDescriptor()
getDescriptor
、インタフェース: DescriptorRead
public String toString()
Object
toString
メソッドは、このオブジェクトを「テキストで表す」文字列を返します。この結果は、人間が読める簡潔で有益な情報であるべきです。すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。
クラス Object
の toString
メソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@
」、およびオブジェクトのハッシュコードの符号なし 16 進数表現から構成される文字列を返します。つまり、このメソッドは次の値と等しい文字列を返します。
getClass().getName() + '@' + Integer.toHexString(hashCode())
public boolean equals(Object o)
この MBeanInfo を別の MBeanInfo と比較します。getClassName()
、getDescription()
、および getDescriptor()
の戻り値が等しく、getAttributes()
、getOperations()
、getConstructors()
、および getNotifications()
の 2 つのオブジェクトによって返される配列のペアが等しい場合、2 つの MBeanInfo オブジェクトは等しくなります。「等しい」とは、ID ではなく、Object.equals(Object)
が等しいことを意味します。
2 つの MBeanInfo オブジェクトによって配列内に返される値が同じでも、その順番が異なっている場合、この 2 つの MBeanInfo オブジェクトは等しくありません。
equals
、クラス: Object
o
- 比較対象のオブジェクト。o
が MBeanInfo であり、上記のルールによりこのオブジェクトと等しい場合にだけ true。Object.hashCode()
、HashMap
public int hashCode()
Object
HashMap
によって提供されるハッシュテーブルなどの、ハッシュテーブルの利点のためにサポートされています。
hashCode
の一般的な規則は次のとおりです。
equals
の比較で使用される情報が変更されていなければ、hashCode
メソッドは常に同じ整数を返す必要があります。ただし、この整数は同じアプリケーションの実行ごとに同じである必要はありません。
equals(Object)
メソッドに従って 2 つのオブジェクトが等しい場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって同じ整数の結果が生成される必要があります。
Object.equals(java.lang.Object)
メソッドに従って 2 つのオブジェクトが等しくない場合は、2 つの各オブジェクトに対する hashCode
メソッドの呼び出しによって異なる整数の結果が生成される必要はありません。ただし、プログラマは、等しくないオブジェクトに対して異なる整数の結果を生成すると、ハッシュテーブルのパフォーマンスが向上する場合があることに気付くはずです。
クラス Object
によって定義された hashCode メソッドは、可能なかぎり、異なるオブジェクトに対して異なる整数を返します。(これは通常、オブジェクトの内部アドレスを整数に変換することによって実装されますが、この実装テクニックは JavaTM プログラミング言語では必要ありません。)
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.