- すべての実装されたインタフェース:
Serializable,Cloneable,Descriptor
記述子は複数のフィールドから成ります。 各フィールドはfieldname=fieldvalueの形式になります。 フィールド名の大文字と小文字は区別されません。フィールド名を大文字で入力した場合はフィールド値も大文字、フィールド名を小文字で入力した場合はフィールド値も小文字になります。
すべてのフィールドの名前と値が未定義ではありません。 任意のプログラムで新しいフィールドを定義し、追加することができます。 一部のフィールドは、実装の整合性を確保し、ModelMBeanInfo、ModelMBeanAttributeInfo、ModelMBeanConstructorInfo、ModelMBeanNotificationInfo、ModelMBeanOperationInfoおよびModelMBeanクラスによるサポートを得るため、定義済みになっています。
このクラスのserialVersionUIDは-6292969195866300415Lです。
- 導入されたバージョン:
- 1.5
- 関連項目:
-
コンストラクタのサマリー
コンストラクタコンストラクタ説明記述子のデフォルトのコンストラクタです。DescriptorSupport(int initNumFields) 記述子のコンストラクタです。DescriptorSupport(String inStr) XML Stringを取る記述子のコンストラクタです。DescriptorSupport(String... fields) fieldName=fieldValueの形式のフィールドを取るコンストラクタです。DescriptorSupport(String[] fieldNames, Object[] fieldValues) フィールド名とフィールド値を取るコンストラクタです。DescriptorSupport(DescriptorSupport inDescr) Descriptorをパラメータとして取る記述子のコンストラクタです。 -
メソッドのサマリー
修飾子と型メソッド説明clone()新しいDescriptor (Descriptorの複製)を返します。booleanこの記述子と指定されたオブジェクトを比較します。String[]記述子内のすべてのフィールド名を返します。String[]この記述子に含まれるすべてのフィールドを単一の文字列配列として返します。getFieldValue(String fieldName) 特定のフィールド名の値を返します。その名前の値が存在しない場合はnullを返します。Object[]getFieldValues(String... fieldNames) 記述子内のすべてのフィールドの値をObjectの配列として返します。inthashCode()この記述子のハッシュ・コード値を返します。booleanisValid()すべてのフィールドの値がそれぞれの名前に対して有効な場合は、trueを返します。voidremoveField(String fieldName) 記述子からフィールドを削除します。void特定のフィールド名を表す値を設定します。voidフィールド名配列内のすべてのフィールドに、フィールド値配列内で同じインデックスを持つ新しい値を設定します。toString()記述子を表す、人間が読める形式の文字列を返します。記述子を表すXML Stringを返します。
-
コンストラクタの詳細
-
DescriptorSupport
public DescriptorSupport()記述子のデフォルトのコンストラクタです。 デフォルトの初期記述子サイズは20です。 このサイズは必要に応じて大きくなります。
作成された空の記述子は無効な記述子です(isValidがfalseを返す) -
DescriptorSupport
public DescriptorSupport(int initNumFields) throws MBeanException, RuntimeOperationsException 記述子のコンストラクタです。 記述子フィールドを格納するMapの初期容量がパラメータになります。 容量は必要に応じて増加します。
作成された空の記述子は無効な記述子です(isValidがfalseを返す)。- パラメータ:
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の場合もある。fieldValueはisValidメソッドの定義どおり、fieldNameに対して有効な値でなければならないノート: パラメータの配列サイズが一致している必要があります。 両方の配列が空の場合、空の記述子が作成されます。
- 例外:
RuntimeOperationsException- フィールド名またはフィールド値が不正である場合。 配列の長さは一致している必要がある。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。
-
DescriptorSupport
public DescriptorSupport(String... fields) fieldName=fieldValueの形式のフィールドを取るコンストラクタです。- パラメータ:
fields- フィールド名およびフィールド値を含む要素を持つ文字列配列。 この配列がnullまたは空の場合、デフォルトのコンストラクタが実行される。 null文字列と空文字列は無視されるすべてのフィールド値はStringになります。すべてのフィールド値は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を返します。- 定義:
getFieldValue、インタフェースDescriptor- パラメータ:
fieldName- フィールド名。- 戻り値:
- 対応する値。そのフィールドが存在しない場合はnull。
- 例外:
RuntimeOperationsException- フィールド名が不正な場合。
-
setField
public void setField(String fieldName, Object fieldValue) throws RuntimeOperationsException インタフェースからコピーされた説明:Descriptor特定のフィールド名を表す値を設定します。 この操作により、既存のフィールドが変更されたり、新しいフィールドが追加されたりします。
フィールド値は、検証されてから設定されます。 無効な値の場合は例外がスローされます。 妥当性の意味は、記述子の実装によって異なります。
- 定義:
setField、インタフェースDescriptor- パラメータ:
fieldName- 設定されるフィールド名。 nullや空文字列は使用できない。fieldValue- フィールド名として設定される値。 nullがフィールドで有効な値であれば、nullも使用できる。- 例外:
RuntimeOperationsException- フィールド名またはフィールド値が不正な場合(ラップされた例外はIllegalArgumentException)、または記述子が不変な場合(ラップされた例外はUnsupportedOperationException)。
-
getFields
public String[] getFields()インタフェースからコピーされた説明:Descriptorこの記述子に含まれるすべてのフィールドを単一の文字列配列として返します。- 定義:
getFields、インタフェースDescriptor- 戻り値:
- fieldName=fieldValueの形式のフィールドの文字列配列
フィールドの値がStringでない場合、toString()メソッドが呼び出され、戻り値が括弧で囲まれて返される配列内のフィールドの値として使用される。 フィールドの値がnullの場合、返される配列内のフィールドの値は空になる。 記述子が空の場合、空の配列が返される。 - 関連項目:
-
getFieldNames
public String[] getFieldNames()インタフェースからコピーされた説明:Descriptor記述子内のすべてのフィールド名を返します。- 定義:
getFieldNames、インタフェースDescriptor- 戻り値:
- フィールド名の文字列配列。 記述子が空の場合、空の配列が返される。
-
getFieldValues
インタフェースからコピーされた説明:Descriptor記述子内のすべてのフィールドの値をObjectの配列として返します。 戻り値の順番は、fieldNamesString配列パラメータの場合と同じになります。- 定義:
getFieldValues、インタフェースDescriptor- パラメータ:
fieldNames- 値が返されるフィールドの名前で構成される文字列配列。 配列が空の場合、空の配列が返される。 配列がnullの場合、パラメータがDescriptor.getFieldNames()により返された配列であるかのように、すべての値が返される。 配列内のフィールド名が存在しない場合(フィールド名がnullまたは空の文字列である場合を含む)、返される対応する配列要素に対してnullが返される。- 戻り値:
- フィールド値から成るオブジェクト配列。
fieldNamesのリストが空の場合、空の配列が返される。
-
setFields
public void setFields(String[] fieldNames, Object[] fieldValues) throws RuntimeOperationsException インタフェースからコピーされた説明:Descriptorフィールド名配列内のすべてのフィールドに、フィールド値配列内で同じインデックスを持つ新しい値を設定します。 配列サイズは一致している必要があります。
フィールド値は、検証されてから設定されます。 無効な値の場合は例外がスローされます。 配列が空の場合、変更内容は適用されません。
- 定義:
setFields、インタフェースDescriptor- パラメータ:
fieldNames- フィールド名の文字列配列。 配列および配列要素は、nullにはできない。fieldValues- 対応するフィールド値から成るオブジェクト配列。 配列はnull以外。 配列要素はnullの場合もある。- 例外:
RuntimeOperationsException- 何らかの理由で変更が失敗した場合。fieldNamesまたはfieldValuesがnullの場合、配列の長さが異なる場合、または、それらのいずれかに不正な値が存在する場合に、ラップされた例外はIllegalArgumentExceptionになる。 記述子が不変で、呼出しによりその内容が変更される場合、ラップされた例外はUnsupportedOperationExceptionになる。- 関連項目:
-
clone
public Object clone() throws RuntimeOperationsException新しいDescriptor (Descriptorの複製)を返します。- 定義:
clone、インタフェースDescriptor- オーバーライド:
clone、クラスObject- 戻り値:
- このインスタンスの複製。
- 例外:
RuntimeOperationsException- フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。- 関連項目:
-
removeField
public void removeField(String fieldName) インタフェースからコピーされた説明:Descriptor記述子からフィールドを削除します。- 定義:
removeField、インタフェースDescriptor- パラメータ:
fieldName- 削除されるフィールドの文字列名。 フィールド名が不正であるか、フィールドが見つからない場合、例外はスローされない。
-
equals
public boolean equals(Object o) この記述子と指定されたオブジェクトを比較します。 指定されたオブジェクトもDescriptorであり、2つの記述子のフィールド名が同一で(大文字と小文字が異なる可能性がある)、関連付けられた値が同じである場合、オブジェクトは等価です。 次の条件を満たす場合、2つのDescriptor内のフィールドのそれぞれの値が等しくなります。- 一方の値がnullの場合、他方もnullでなければならない。
- 一方の値がプリミティブ配列の場合、他方は同じ要素を持つ同じ型のプリミティブ配列でなければならない。
- 一方の値がオブジェクト配列である場合、他方もオブジェクト配列でなければならず、
Arrays.deepEqualsがtrueを返さなければならない。 - それ以外の場合、
Object.equals(Object)がtrueを返さなければならない。
- 定義:
equals、インタフェースDescriptor- オーバーライド:
equals、クラスObject- パラメータ:
o- 比較対象のオブジェクト- 戻り値:
- オブジェクトが同じである場合は
true、そうでない場合はfalse。 - 関連項目:
-
hashCode
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- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
-
isValid
public boolean isValid() throws RuntimeOperationsExceptionすべてのフィールドの値がそれぞれの名前に対して有効な場合は、trueを返します。この実装は、ディレクトリまたは検索サービスとの相互運用性をサポートしません。 仕様により、"export"フィールドのチェックは行われません。
次の場合、この実装はfalseを返します。
- 名前とdescriptorType fieldNameが未定義、null、空文字列、またはString以外の場合
- クラス、ロール、getMethod、setMethod fieldNameにnullまたはString以外が定義されている場合
- persistPeriod、currencyTimeLimit、lastUpdatedTimeStamp、lastReturnedTimeStampにnull、Numeric String、またはNumeric Value>= -1以外が定義されている場合
- ログfieldNameにnull、Boolean以外、またはt、f、true、falseのいずれかの値を持つString以外が定義されている場合。 (これらのStringの値は大文字小文字を区別しない)。
- 可視fieldNameにnull、Numeric String以外、またはNumeric Value>= 1および<=4以外が定義されている場合
- 重要度fieldNameにnull、Numeric String以外、またはNumeric Value>= 0および<=6以外が定義されている場合
- persistPolicy fieldNameにnullが定義されている場合、または
OnUpdate、OnTimer、NoMoreOftenThan、OnUnregister、Always、Never以外のStringが定義されている場合。 (これらのStringの値は大文字小文字を区別しない)。
- 定義:
isValid、インタフェースDescriptor- 戻り値:
- 値が有効な場合は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,...」のようになります。
記述子にフィールドが含まれていない場合は、空の文字列が返されます。
fieldValueがオブジェクトである場合は、そこでtoString()メソッドが呼び出され、返された値がカッコで囲まれたフィールドの値として使用されます。- オーバーライド:
toString、クラスObject- 戻り値:
- このオブジェクトの文字列表現。
- 例外:
RuntimeOperationsException- フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の文字列に問題が発生した場合、この例外がスローされる。
-