モジュール java.management

クラス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です。 このサイズは必要に応じて大きくなります。
        作成された空の記述子は無効な記述子です(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になる。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。
    • メソッドの詳細

      • 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になります。 ここで、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 - フィールド名またはフィールド値が不正である場合。 何らかの理由で記述子の文字列に問題が発生した場合、この例外がスローされる。