- 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(int initNumFields)
記述子のコンストラクタです。DescriptorSupport(String inStr)
XML Stringを取る記述子のコンストラクタです。DescriptorSupport(String... fields)
fieldName=fieldValueの形式のフィールドを取るコンストラクタです。DescriptorSupport(String[] fieldNames, Object[] fieldValues)
フィールド名とフィールド値を取るコンストラクタです。DescriptorSupport(DescriptorSupport inDescr)
Descriptorをパラメータとして取る記述子のコンストラクタです。
-
メソッドのサマリー
すべてのメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 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を返します。
-
-
-
コンストラクタの詳細
-
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の場合、返される配列内のフィールドの値は空になる。 記述子が空の場合、空の配列が返される。 - 関連項目:
Descriptor.setFields(java.lang.String[], java.lang.Object[])
-
getFieldNames
public String[] getFieldNames()
インタフェースからコピーされた説明:Descriptor
記述子内のすべてのフィールド名を返します。- 定義:
getFieldNames
、インタフェース:Descriptor
- 戻り値:
- フィールド名の文字列配列。 記述子が空の場合、空の配列が返される。
-
getFieldValues
public Object[] getFieldValues(String... fieldNames)
インタフェースからコピーされた説明:Descriptor
記述子内のすべてのフィールドの値をObjectの配列として返します。 戻り値の順番は、fieldNames
String配列パラメータの場合と同じになります。- 定義:
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
になる。- 関連項目:
Descriptor.getFields()
-
clone
public Object clone() throws RuntimeOperationsException
新しいDescriptor (Descriptorの複製)を返します。- 定義:
clone
、インタフェース:Descriptor
- オーバーライド:
clone
、クラス:Object
- 戻り値:
- このインスタンスの複製。
- 例外:
RuntimeOperationsException
- フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。- 関連項目:
Cloneable
-
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
。 - 関連項目:
Object.hashCode()
、HashMap
-
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
- 戻り値:
- このオブジェクトのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.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
- フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の文字列に問題が発生した場合、この例外がスローされる。
-
-