public class DescriptorSupport extends Object implements Descriptor
記述子は複数のフィールドから成ります。各フィールドは fieldname=fieldvalue の形式になります。フィールド名の大文字と小文字は区別されません。フィールド名を大文字で入力した場合はフィールド値も大文字、フィールド名を小文字で入力した場合はフィールド値も小文字になります。
すべてのフィールドの名前と値が未定義ではありません。任意のプログラムで新しいフィールドを定義し、追加することができます。一部のフィールドは、実装の整合性を確保し、ModelMBeanInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、ModelMBeanNotificationInfo、ModelMBeanOperationInfo および ModelMBean クラスによるサポートを得るため、定義済みになっています。
このクラスの serialVersionUID は -6292969195866300415L
です。
コンストラクタと説明 |
---|
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)
特定のフィールド名の値を返します。その名前の値が存在しない場合は null を返します。
|
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 を返します。
|
public DescriptorSupport()
isValid
が false
を返す)public DescriptorSupport(int initNumFields) throws MBeanException, RuntimeOperationsException
isValid
が false
を返す)。initNumFields
- 記述子フィールドを格納する Map の初期容量。RuntimeOperationsException
- initNumFields の値が無効 (<= 0) である場合MBeanException
- 分散通信 Exception をラップする。public DescriptorSupport(DescriptorSupport inDescr)
inDescr
- 構築済み記述子の初期化に使用される記述子。null の場合、または記述子フィールドが含まれない場合、空の Descriptor が作成される。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 をラップする。public DescriptorSupport(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
fieldNames
- フィールド名の文字列配列。この配列の配列要素は null 以外fieldValues
- 対応するフィールド値から成るオブジェクト配列。配列要素は null の場合もある。fieldValue
は isValid
メソッドの定義どおり、fieldName
に対して有効な値でなければならない
注:パラメータの配列サイズが一致している必要があります。両方の配列が空の場合、空の記述子が作成されます。
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。配列の長さは一致している必要がある。何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。public DescriptorSupport(String... fields)
fields
- フィールド名およびフィールド値を含む要素を持つ文字列配列。この配列が null または空の場合、デフォルトのコンストラクタが実行される。null 文字列と空文字列は無視されるすべてのフィールド値は String になります。
すべてのフィールド値は String になります。フィールド値が String でない場合、プログラマは、これらのフィールドを正しくリセットまたは変換する必要があります。
注:各文字列は fieldName=fieldValue の形式を取る必要があります。フィールド名は、最初の =
文字までです。たとえば、String が a=b=c
の場合、フィールド名は a
で、値は b=c
です。
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。フィールドには「=」が含まれていなければならない。「=fieldValue」、「fieldName」、「fieldValue」は無効。また、FieldName は null 以外。「fieldName=」の場合、値は null になる。何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。public Object getFieldValue(String fieldName) throws RuntimeOperationsException
Descriptor
getFieldValue
、インタフェース: Descriptor
fieldName
- フィールド名。RuntimeOperationsException
- フィールド名が不正な場合。public void setField(String fieldName, Object fieldValue) throws RuntimeOperationsException
Descriptor
特定のフィールド名を表す値を設定します。この操作により、既存のフィールドが変更されたり、新しいフィールドが追加されたりします。
フィールド値は、検証されてから設定されます。無効な値の場合は例外がスローされます。妥当性の意味は、記述子の実装によって異なります。
setField
、インタフェース: Descriptor
fieldName
- 設定されるフィールド名。null や空文字列は使用できない。fieldValue
- フィールド名として設定される値。null がフィールドで有効な値であれば、null も使用できる。RuntimeOperationsException
- フィールド名またはフィールド値が不正な場合 (ラップされた例外は IllegalArgumentException
)、または記述子が不変な場合 (ラップされた例外は UnsupportedOperationException
)。public String[] getFields()
Descriptor
getFields
、インタフェース: Descriptor
Descriptor.setFields(java.lang.String[], java.lang.Object[])
public String[] getFieldNames()
Descriptor
getFieldNames
、インタフェース: Descriptor
public Object[] getFieldValues(String... fieldNames)
Descriptor
fieldNames
String 配列パラメータの場合と同じになります。getFieldValues
、インタフェース: Descriptor
fieldNames
- 値が返されるフィールドの名前で構成される文字列配列。配列が空の場合、空の配列が返される。配列が null の場合、パラメータが Descriptor.getFieldNames()
により返された配列であるかのように、すべての値が返される。配列内のフィールド名が存在しない場合 (フィールド名が null または空の文字列である場合を含む)、返される対応する配列要素に対して null が返される。fieldNames
のリストが空の場合、空の配列が返される。public void setFields(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException
Descriptor
フィールド名配列内のすべてのフィールドに、フィールド値配列内で同じインデックスを持つ新しい値を設定します。配列サイズは一致している必要があります。
フィールド値は、検証されてから設定されます。無効な値の場合は例外がスローされます。配列が空の場合、変更内容は適用されません。
setFields
、インタフェース: Descriptor
fieldNames
- フィールド名の文字列配列。配列および配列要素は、null にはできない。fieldValues
- 対応するフィールド値から成るオブジェクト配列。配列は null 以外。配列要素は null の場合もある。RuntimeOperationsException
- 何らかの理由で変更が失敗した場合。fieldNames
または fieldValues
が null の場合、配列の長さが異なる場合、または、それらのいずれかに不正な値が存在する場合に、ラップされた例外は IllegalArgumentException
になる。記述子が不変で、呼び出しによりその内容が変更される場合、ラップされた例外は UnsupportedOperationException
になる。Descriptor.getFields()
public Object clone() throws RuntimeOperationsException
clone
、インタフェース: Descriptor
clone
、クラス: Object
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。Cloneable
public void removeField(String fieldName)
Descriptor
removeField
、インタフェース: Descriptor
fieldName
- 削除されるフィールドの文字列名。フィールド名が不正であるか、フィールドが見つからない場合、例外はスローされない。public boolean equals(Object o)
Arrays.deepEquals
が true を返さなければならない。Object.equals(Object)
が true を返さなければならない。equals
、インタフェース: Descriptor
equals
、クラス: Object
o
- 比較対象のオブジェクトtrue
、そうでない場合は false
。Object.hashCode()
、HashMap
public int hashCode()
この記述子のハッシュコード値を返します。ハッシュコードは、記述子内の各フィールドのハッシュコードの合計になります。名前が n
で、値が v
のフィールドのハッシュコードは、n.toLowerCase().hashCode() ^ h
になります。ここで、h
は v
のハッシュコードです。計算方法は次のとおりです。
v
が null の場合、h
は 0 になる。v
がプリミティブ配列の場合、java.util.Arrays.hashCode
の適切なオーバーロードを使用して h
が計算される。v
がオブジェクト配列の場合、Arrays.deepHashCode
を使用して h
が計算される。h
は v.hashCode()
になる。hashCode
、インタフェース: Descriptor
hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
public boolean isValid() throws RuntimeOperationsException
この実装は、ディレクトリまたは検索サービスとの相互運用性をサポートしません。仕様により、"export" フィールドのチェックは行われません。
次の場合、この実装は false を返します。
isValid
、インタフェース: Descriptor
RuntimeOperationsException
- 何らかの理由で妥当性検査に失敗した場合、この例外がスローされる。public String toXMLString()
記述子を表す XML String を返します。
形式は未定義ですが、コンストラクタ DescriptorSupport(String inStr)
を使ってインスタンス化するとき、このメソッドによって返される文字列で、同等の記述子を構築できる実装である必要があります。
フィールドが String オブジェクトでない場合、toString() が呼び出され、値が作成されます。値は括弧に囲まれた形式になります。これらのオブジェクトが有意の形式の toString() をサポートするように設定されていて、同じ形式の String を受け付ける一致したコンストラクタを持っていない場合、これらのオブジェクトを再構築できないことがあります。
記述子が空の場合、String として <Descriptor></Descriptor> が返されます。
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。何らかの理由で XML 形式の文字列の作成に失敗した場合、この例外がスローされる。public String toString()
toString
、クラス: Object
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。何らかの理由で記述子の文字列に問題が発生した場合、この例外がスローされる。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.