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()
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, 2014, Oracle and/or its affiliates. All rights reserved.