JavaTM Platform
Standard Ed. 6

javax.management.modelmbean
クラス DescriptorSupport

java.lang.Object
  上位を拡張 javax.management.modelmbean.DescriptorSupport
すべての実装されたインタフェース:
Serializable, Cloneable, Descriptor

public class DescriptorSupport
extends Object
implements Descriptor

このクラスは、ModelMBean 要素のメタデータセットを表します。記述子は、ModelMBeanInfo、ModelMBeanNotificationInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、および ModelMBeanParameterInfo の一部です。

記述子は複数のフィールドから成ります。各フィールドは fieldname=fieldvalue の形式になります。フィールド名の大文字と小文字は区別されません。フィールド名を大文字で入力した場合はフィールド値も大文字、フィールド名を小文字で入力した場合はフィールド値も小文字になります。

すべてのフィールドの名前と値が未定義ではありません。任意のプログラムで新しいフィールドを定義し、追加することができます。一部のフィールドは、実装の整合性を確保し、ModelMBeanInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、ModelMBeanNotificationInfo、ModelMBeanOperationInfo および ModelMBean クラスによるサポートを得るため、定義済みになっています。

このクラスの serialVersionUID-6292969195866300415L です。

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

コンストラクタの概要
DescriptorSupport()
          記述子のデフォルトのコンストラクタです。
DescriptorSupport(DescriptorSupport inDescr)
          Descriptor をパラメータとして取る記述子のコンストラクタです。
DescriptorSupport(int initNumFields)
          記述子のコンストラクタです。
DescriptorSupport(String... fields)
          fieldName=fieldValue の形式のフィールドを取るコンストラクタです。
DescriptorSupport(String inStr)
          XML String を取る記述子のコンストラクタです。
DescriptorSupport(String[] fieldNames, Object[] fieldValues)
          フィールド名とフィールド値を取るコンストラクタです。
 
メソッドの概要
 Object clone()
          新しい Descriptor (Descriptor の複製) を返します。
 boolean equals(Object o)
          この記述子と指定されたオブジェクトを比較します。
 String[] getFieldNames()
          記述子内のすべてのフィールド名を返します。
 String[] getFields()
          この記述子に含まれるすべてのフィールドを単一の文字列配列として返します。
 Object getFieldValue(String fieldName)
          特定のフィールド名の値を返します。
 Object[] getFieldValues(String... fieldNames)
          記述子内のすべてのフィールドの値を Object の配列として返します。
 int hashCode()
          この記述子のハッシュコード値を返します。
 boolean isValid()
          すべてのフィールドに名前が付与されていて値が有効な場合、true を返します。
 void removeField(String fieldName)
          記述子からフィールドを削除します。
 void setField(String fieldName, Object fieldValue)
          特定のフィールド名を表す値を設定します。
 void setFields(String[] fieldNames, Object[] fieldValues)
          フィールド名配列内のすべてのフィールドを新しい値に設定し、フィールド値配列に同じインデックスを設定します。
 String toString()
          記述子を表す、人間が読める形式の文字列を返します。
 String toXMLString()
          記述子を表す XML String を返します。
 
クラス java.lang.Object から継承されたメソッド
finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

DescriptorSupport

public DescriptorSupport()
記述子のデフォルトのコンストラクタです。デフォルトの初期記述子サイズは 20 ですが、このサイズは必要に応じて大きくなります。
作成された空の記述子は無効な記述子です (isValidfalse を返す)。


DescriptorSupport

public DescriptorSupport(int initNumFields)
                  throws MBeanException,
                         RuntimeOperationsException
記述子のコンストラクタです。記述子フィールドを格納する Map の初期容量がパラメータになります。容量は必要に応じて増加します。
作成された空の記述子は無効な記述子です (isValidfalse を返す)。

パラメータ:
initNumFields - 記述子フィールドを格納する Map の初期容量
例外:
RuntimeOperationsException - initNumFields の値が無効 (<= 0) である場合
MBeanException - 分散通信 Exception をラップする

DescriptorSupport

public DescriptorSupport(DescriptorSupport inDescr)
Descriptor をパラメータとして取る記述子のコンストラクタです。パラメータとして渡された記述子の値に初期化される新しい記述子を作成します。

パラメータ:
inDescr - 構築済み記述子の初期化に使用される 記述子。null の場合、または記述子フィールドが含まれない場合、 空の Descriptor が作成される

DescriptorSupport

public DescriptorSupport(String inStr)
                  throws MBeanException,
                         RuntimeOperationsException,
                         XMLParseException

XML String を取る記述子のコンストラクタです。

XML 文字列の形式は未定義ですが、toXMLString() によって既存の記述子上に返される文字列で、このコンストラクタを使って同等の記述子をインスタンス化できる実装でなければなりません。

この実装では、すべてのフィールド値は String として作成されます。フィールド値が String でない場合、プログラマは、これらのフィールドを正しくリセットまたは変換する必要があります。

パラメータ:
inStr - この Descriptor の読み込み使用される XML 形式の 文字列。この文字列の形式は未定義であるが、 toXMLString メソッドによって 既存の記述子上に返される文字列で、 このコンストラクタを使って同等の記述子を インスタンス化できる実装でなければならない
例外:
RuntimeOperationsException - パラメータとして渡される String inStr が null の場合
XMLParseException - 入力 String の解析時に XML 解析関連の 問題が発生した場合
MBeanException - 分散通信 Exception をラップする

DescriptorSupport

public DescriptorSupport(String[] fieldNames,
                         Object[] fieldValues)
                  throws RuntimeOperationsException
フィールド名とフィールド値を取るコンストラクタです。いずれの配列も null は使用できません。

パラメータ:
fieldNames - フィールド名の文字列配列。この配列の配列要素は null 以外
fieldValues - 対応するフィールド値から成る オブジェクト配列。配列要素は null の場合もある。fieldValueisValid メソッドの定義どおり、 fieldName に対して 有効な値でなければならない

注:パラメータの配列サイズが一致している必要があります。両方の配列が空の場合、空の記述子が作成されます。

例外:
RuntimeOperationsException - フィールド名またはフィールド値を表す値が 不正である場合。配列の長さは一致している必要がある。 なんらかの理由で記述子の作成に失敗した場合、 この例外がスローされる

DescriptorSupport

public DescriptorSupport(String... fields)
fieldName=fieldValue の形式のフィールドを取るコンストラクタです。

パラメータ:
fields - フィールド名およびフィールド値を含む要素を持つ 文字列配列。この配列が null または空の場合、 デフォルトのコンストラクタが実行される。null 文字列と 空文字列は無視される

すべてのフィールド値は String になります。フィールド値が String でない場合、プログラマは、これらのフィールドを正しくリセットまたは変換する必要があります。

注:各文字列は fieldName=fieldValue の形式を取る必要があります。フィールド名は、最初の = 文字までです。たとえば、String が a=b=c の場合、フィールド名は a で、値は b=c です。

例外:
RuntimeOperationsException - フィールド名またはフィールド値を表す値が 不正である場合。フィールドには「=」が含まれていなければならない。 "=". 「=fieldValue」、「fieldName」、「fieldValue」は無効。 また、FieldName は null 以外。「fieldName=」の場合、 値は null になる。なんらかの理由で記述子の作成に失敗した場合、 この例外がスローされる
メソッドの詳細

getFieldValue

public Object getFieldValue(String fieldName)
                     throws RuntimeOperationsException
インタフェース Descriptor の記述:
特定のフィールド名の値を返します。その名前の値が存在しない場合は null を返します。

定義:
インタフェース Descriptor 内の getFieldValue
パラメータ:
fieldName - フィールド名。
戻り値:
対応する値。そのフィールドが存在しない場合は null
例外:
RuntimeOperationsException - フィールド名が不正な場合

setField

public void setField(String fieldName,
                     Object fieldValue)
              throws RuntimeOperationsException
インタフェース Descriptor の記述:

特定のフィールド名を表す値を設定します。この操作により、既存のフィールドが変更されたり、新しいフィールドが追加されたりします。

フィールド値は、検証されてから設定されます。無効な値の場合は例外がスローされます。妥当性の意味は、記述子の実装によって異なります。

定義:
インタフェース Descriptor 内の setField
パラメータ:
fieldName - 設定されるフィールド名。null や空文字列は使用できない
fieldValue - フィールド名として設定される 値。null がフィールドで有効な値であれば、null も使用できる
例外:
RuntimeOperationsException - フィールド名またはフィールド値が不正な場合 (ラップされた例外は IllegalArgumentException)、または記述子が不変な場合 (ラップされた例外は UnsupportedOperationException)。

getFields

public String[] getFields()
インタフェース Descriptor の記述:
この記述子に含まれるすべてのフィールドを単一の文字列配列として返します。

定義:
インタフェース Descriptor 内の getFields
戻り値:
fieldName=fieldValue の形式のフィールドの文字列配列
フィールドの値が String でない場合、toString() メソッドが 呼び出され、戻り値が括弧で囲まれて 返される配列内のフィールドの値として使用される。フィールドの値が null の場合、返される配列内のフィールドの値は 空になる。記述子が空の場合、空の配列が 返される
関連項目:
Descriptor.setFields(java.lang.String[], java.lang.Object[])

getFieldNames

public String[] getFieldNames()
インタフェース Descriptor の記述:
記述子内のすべてのフィールド名を返します。

定義:
インタフェース Descriptor 内の getFieldNames
戻り値:
フィールド名の文字列配列。記述子が空の場合 空の配列が返される

getFieldValues

public Object[] getFieldValues(String... fieldNames)
インタフェース Descriptor の記述:
記述子内のすべてのフィールドの値を Object の配列として返します。返される値の順番は、fieldNames String 配列パラメータの場合と同じになります。

定義:
インタフェース Descriptor 内の getFieldValues
パラメータ:
fieldNames - 値が返されるフィールドの名前で構成される 文字列配列。配列が空の場合、 空の配列が返される。配列が null の場合、 パラメータが Descriptor.getFieldNames() により返された配列であるかのように、 すべての値が返される。配列内のフィールド名が存在しない場合 (フィールド名が null または空の文字列である場合を含む)、返される対応する配列要素に対して null が返される
戻り値:
フィールド値から成るオブジェクト配列。fieldNames のリストが 空の場合、空の配列が返される

setFields

public void setFields(String[] fieldNames,
                      Object[] fieldValues)
               throws RuntimeOperationsException
インタフェース Descriptor の記述:

フィールド名配列内のすべてのフィールドを新しい値に設定し、フィールド値配列に同じインデックスを設定します。配列サイズは一致している必要があります。

フィールド値は、検証されてから設定されます。無効な値の場合は例外がスローされます。配列が空の場合、変更内容は適用されません。

定義:
インタフェース Descriptor 内の setFields
パラメータ:
fieldNames - フィールド名の文字列配列。配列および配列要素は、 null にはできない
fieldValues - 対応するフィールド値から成るオブジェクト配列。 配列は null 以外。配列要素は null の場合もある
例外:
RuntimeOperationsException - なんらかの理由で変更が失敗した場合。 fieldNames または fieldValues が null の場合、 配列の長さが異なる場合、 または、それらのいずれかに不正な値が存在する場合に、 ラップされた例外は IllegalArgumentException になる。 記述子が不変で、呼び出しによりその内容が変更される場合、ラップされた例外は UnsupportedOperationException になる。
関連項目:
Descriptor.getFields()

clone

public Object clone()
             throws RuntimeOperationsException
新しい Descriptor (Descriptor の複製) を返します。

定義:
インタフェース Descriptor 内の clone
オーバーライド:
クラス Object 内の clone
戻り値:
このインスタンスの複製
例外:
RuntimeOperationsException - フィールド名またはフィールド値を表す値が 不正である場合。なんらかの理由で記述子の作成に 失敗した場合、この例外がスローされる
関連項目:
Cloneable

removeField

public void removeField(String fieldName)
インタフェース Descriptor の記述:
記述子からフィールドを削除します。

定義:
インタフェース Descriptor 内の removeField
パラメータ:
fieldName - 削除されるフィールドの文字列名。 フィールド名が不正であるか、フィールドが見つからない場合、 例外はスローされない

equals

public boolean equals(Object o)
この記述子と指定されたオブジェクトを比較します。指定されたオブジェクトも Descriptor であり、2 つの記述子のフィールド名が同一で (大文字と小文字が異なる可能性がある)、関連付けられた値が同じである場合、オジェクトは等価です。次の条件を満たす場合、2 つの Descriptor 内のフィールドのそれぞれの値が等しくなります。

定義:
インタフェース Descriptor 内の equals
オーバーライド:
クラス Object 内の equals
パラメータ:
o - 比較対象のオブジェクト
戻り値:
オブジェクトが等しい場合は true、 そうでない場合は false
関連項目:
Object.hashCode(), Hashtable

hashCode

public int hashCode()

この記述子のハッシュコード値を返します。ハッシュコードは、記述子内の各フィールドのハッシュコードの合計になります。名前が n で、値が v のフィールドのハッシュコードは、n.toLowerCase().hashCode() ^ h になります。ここで、hv のハッシュコードです。次に計算方法を示します。

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

isValid

public boolean isValid()
                throws RuntimeOperationsException
すべてのフィールドに名前が付与されていて値が有効な場合、true を返します。

この実装は、ディレクトリまたは検索サービスとの相互運用性をサポートしません。仕様により、"export" フィールドのチェックは行われません。

次の場合、この実装は false を返します。

定義:
インタフェース Descriptor 内の isValid
戻り値:
値が有効な場合は true
例外:
RuntimeOperationsException - なんらかの理由で妥当性検査に失敗した場合、 この例外がスローされる

toXMLString

public String toXMLString()

記述子を表す XML String を返します。

形式は未定義ですが、コンストラクタ DescriptorSupport(String inStr) を使ってインスタンス化するとき、このメソッドによって返される文字列で、同等の記述子を構築できる実装でなければなりません。

フィールドが String オブジェクトでない場合、toString() が呼び出され、値が作成されます。値は括弧に囲まれた形式になります。これらのオブジェクトが有意の形式の toString() をサポートするように設定されていて、同じ形式の String を受け付ける一致したコンストラクタを持っていない場合、これらのオブジェクトを再構築できないことがあります。

記述子が空の場合、String として <Descriptor></Descriptor> が返されます。

戻り値:
XML 文字列
例外:
RuntimeOperationsException - フィールド名またはフィールド値を表す値が 不正である場合。なんらかの理由で XML 形式の 文字列の作成に失敗した場合、 この例外がスローされる

toString

public String toString()
記述子を表す、人間が読める形式の文字列を返します。この文字列の形式は、「fieldName=fieldValue,fieldName2=fieldValue2,...」のようになります。
記述子内にフィールドが存在しない場合、空の String が返されます。
fieldValue がオブジェクトである場合、toString() メソッドが呼び出されます。戻り値は括弧に囲まれたフィールドの値として使用されます。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現
例外:
RuntimeOperationsException - フィールド名またはフィールド値を表す値が 不正である場合。なんらかの理由で記述子の文字列に問題が発生した場合、 この例外がスローされる

JavaTM Platform
Standard Ed. 6

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

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