モジュール java.management

クラス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

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

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

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

    • clone

      public Object clone() throws RuntimeOperationsException
      新しいDescriptor (Descriptorの複製)を返します。
      定義:
      clone、インタフェース: Descriptor
      オーバーライド:
      clone、クラス: Object
      戻り値:
      このインスタンスの複製。
      例外:
      RuntimeOperationsException - フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。
      関連項目:
      Cloneable
    • 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になります。 ここで、hvのハッシュ・コードです。計算方法は次のとおりです。

      • vがnullの場合、hは0になる。
      • vがプリミティブ配列の場合、java.util.Arrays.hashCodeの適切なオーバーロードを使用してhが計算される。
      • vがオブジェクト配列の場合、Arrays.deepHashCodeを使用してhが計算される。
      • それ以外の場合、hv.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 - フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の文字列に問題が発生した場合、この例外がスローされる。