モジュール java.management
パッケージ javax.management

クラスImmutableDescriptor

    • コンストラクタのサマリー

      コンストラクタ 
      コンストラクタ 説明
      ImmutableDescriptor​(String... fields)
      指定されたフィールドを含む記述子を構築します。
      ImmutableDescriptor​(String[] fieldNames, Object[] fieldValues)
      指定されたフィールドおよび値を含む記述子を構築します。
      ImmutableDescriptor​(Map<String,?> fields)
      フィールドの名前と値が指定したMapのキーと値である記述子を構築します。
    • メソッドのサマリー

      すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 
      修飾子と型 メソッド 説明
      Descriptor clone​()
      この記述子と等価な記述子を返します。
      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​()
      オブジェクトの文字列表現を返します。
      static ImmutableDescriptor union​(Descriptor... descriptors)
      内容が指定した記述子の和集合であるImmutableDescriptorを返します。
    • フィールドの詳細

    • コンストラクタの詳細

      • ImmutableDescriptor

        public ImmutableDescriptor​(String[] fieldNames,
                                   Object[] fieldValues)
        指定されたフィールドおよび値を含む記述子を構築します。
        パラメータ:
        fieldNames - フィールド名
        fieldValues - フィールド値
        例外:
        IllegalArgumentException - いずれかの配列がnullの場合、配列のサイズが異なる場合、フィールド名がnullまたは空の場合、または同一のフィールド名が複数回出現する場合。
      • ImmutableDescriptor

        public ImmutableDescriptor​(String... fields)
        指定されたフィールドを含む記述子を構築します。 各文字列はfieldName=fieldValueの形式を取る必要があります。 フィールド名は、最初の=文字までです。たとえば、Stringがa=b=cの場合、フィールド名はaで、値はb=cです。
        パラメータ:
        fields - フィールド名
        例外:
        IllegalArgumentException - パラメータがnullの場合、フィールド名が空の場合、同一のフィールド名が複数回出現する場合、または文字列のいずれかが=文字を含んでいない場合。
      • ImmutableDescriptor

        public ImmutableDescriptor​(Map<String,?> fields)

        フィールドの名前と値が指定したMapのキーと値である記述子を構築します。

        パラメータ:
        fields - フィールド名と値
        例外:
        IllegalArgumentException - パラメータがnullの場合、フィールド名がnullまたは空の場合、または同一のフィールド名が複数回出現する場合(フィールド名の大文字と小文字が区別されないために発生することがある)。
    • メソッドの詳細

      • union

        public static ImmutableDescriptor union​(Descriptor... descriptors)

        内容が指定した記述子の和集合であるImmutableDescriptorを返します。 結果には、各記述子内に出現する全フィールドが、メソッド呼出し時点でのそのフィールドの値とともに表示されます。 その後、記述子を変更しても、ここで返されるImmutableDescriptorは影響を受けません。

        もっとも単純なケースでは、記述子は1つだけで、返されるImmutableDescriptorはこのメソッドの呼出し時のフィールドのコピーになります。

         Descriptor d = something();
         ImmutableDescriptor copy = ImmutableDescriptor.union(d);
         
        パラメータ:
        descriptors - 結合する記述子。 記述子のいずれかがnullである場合、それはスキップされる。
        戻り値:
        指定した記述子の和集合であるImmutableDescriptor 入力記述子のいずれかが必須フィールドをすべて含むImmutableDescriptorである場合、返されるオブジェクトはその記述子と同じになる可能性がある。
        例外:
        IllegalArgumentException - 2つの記述子に同一のフィールド名が存在するが、それぞれに関連付けられた値が異なる場合。 プリミティブ配列値は、要素および型が同じ場合に、同一と見なされる。 オブジェクト配列値は、Arrays.deepEquals(Object[],Object[])がtrueを返す場合に、同一と見なされる。
      • getFieldValue

        public final Object getFieldValue​(String fieldName)
        インタフェースからコピーされた説明: Descriptor
        特定のフィールド名の値を返します。その名前の値が存在しない場合はnullを返します。
        定義:
        getFieldValue、インタフェース: Descriptor
        パラメータ:
        fieldName - フィールド名。
        戻り値:
        対応する値。そのフィールドが存在しない場合はnull。
      • getFields

        public final String[] getFields​()
        インタフェースからコピーされた説明: Descriptor
        この記述子に含まれるすべてのフィールドを単一の文字列配列として返します。
        定義:
        getFields、インタフェース: Descriptor
        戻り値:
        fieldName=fieldValueの形式のフィールドの文字列配列
        フィールドの値がStringでない場合、toString()メソッドが呼び出され、戻り値が括弧で囲まれて返される配列内のフィールドの値として使用される。
        フィールドの値がnullの場合、返される配列内のフィールドの値は空になる。 記述子が空の場合、空の配列が返される。
        関連項目:
        Descriptor.setFields(java.lang.String[], java.lang.Object[])
      • getFieldValues

        public final Object[] getFieldValues​(String... fieldNames)
        インタフェースからコピーされた説明: Descriptor
        記述子内のすべてのフィールドの値をObjectの配列として返します。 戻り値の順番は、fieldNames String配列パラメータの場合と同じになります。
        定義:
        getFieldValues、インタフェース: Descriptor
        パラメータ:
        fieldNames - 値が返されるフィールドの名前で構成される文字列配列。 配列が空の場合、空の配列が返される。 配列がnullの場合、パラメータがDescriptor.getFieldNames()により返された配列であるかのように、すべての値が返される。 配列内のフィールド名が存在しない場合(フィールド名がnullまたは空の文字列である場合を含む)、返される対応する配列要素に対してnullが返される。
        戻り値:
        フィールド値から成るオブジェクト配列。 fieldNamesのリストが空の場合、空の配列が返される。
      • getFieldNames

        public final String[] getFieldNames​()
        インタフェースからコピーされた説明: Descriptor
        記述子内のすべてのフィールド名を返します。
        定義:
        getFieldNames、インタフェース: Descriptor
        戻り値:
        フィールド名の文字列配列。 記述子が空の場合、空の配列が返される。
      • equals

        public boolean equals​(Object o)
        この記述子と指定されたオブジェクトを比較します。 指定されたオブジェクトもDescriptorであり、2つの記述子のフィールド名が同一で(大文字と小文字が異なる可能性がある)、関連付けられた値が同じである場合、オブジェクトは等価です。 次の条件を満たす場合、2つのDescriptor内のフィールドのそれぞれの値が等しくなります。
        • 一方の値がnullの場合、他方もnullでなければならない。
        • 一方の値がプリミティブ配列の場合、他方は同じ要素を持つ同じ型のプリミティブ配列でなければならない。
        • 一方の値がオブジェクト配列である場合、他方もオブジェクト配列でなければならず、Arrays.deepEquals(Object[],Object[])が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(Object[])を使用してhが計算される。
        • それ以外の場合、hv.hashCode()になる。
        定義:
        hashCode、インタフェース: Descriptor
        オーバーライド:
        hashCode、クラス: Object
        戻り値:
        このオブジェクトのハッシュ・コード値。
        関連項目:
        Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)
      • toString

        public String toString​()
        クラスからコピーされた説明: Object
        オブジェクトの文字列表現を返します。 一般に、toStringメソッドは、このオブジェクトを「テキストで表す」文字列を返します。 この結果は、人間が読める簡潔で有益な情報であるべきです。 すべてのサブクラスで、このメソッドをオーバーライドすることをお勧めします。

        クラスObjecttoStringメソッドは、オブジェクトがインスタンスになっている元のクラスの名前、アットマーク文字「@」、およびオブジェクトのハッシュ・コードの符号なし16進数表現から構成される文字列を返します。 つまり、このメソッドは次の値と等しい文字列を返します。

         getClass().getName() + '@' + Integer.toHexString(hashCode())
         
        オーバーライド:
        toString、クラス: Object
        戻り値:
        このオブジェクトの文字列表現。
      • isValid

        public boolean isValid​()
        すべてのフィールドに名前が付与されていて値が有効な場合、trueを返します。 このメソッドは常にtrueを返しますが、必要な場合、サブクラスがこれをオーバーライドしてfalseを返すことが可能です。
        定義:
        isValid、インタフェース: Descriptor
        戻り値:
        値が有効な場合はtrue。
        例外:
        RuntimeOperationsException - 妥当性検査に失敗した場合。 記述子が無効の場合、このメソッドはfalseを返すが、妥当性を判断しようとして失敗するとこの例外をスローする。
      • clone

        public Descriptor clone​()

        この記述子と等価な記述子を返します。 返される記述子を変更してもこの記述子は影響を受けず、この記述子を変更しても返される記述子は影響を受けません。

        このメソッドは、呼び出されるオブジェクトを返します。 規約を満たす場合は、サブクラスでこれをオーバーライドして別のオブジェクトを返すことができます。

        定義:
        clone、インタフェース: Descriptor
        オーバーライド:
        clone、クラス: Object
        戻り値:
        このインスタンスの複製。
        例外:
        RuntimeOperationsException - フィールド名またはフィールド値の値が不正である場合。 何らかの理由で記述子の作成に失敗した場合、この例外がスローされる。
        関連項目:
        Cloneable
      • setFields

        public final void setFields​(String[] fieldNames,
                                    Object[] fieldValues)
                             throws RuntimeOperationsException
        このクラスは不変であるため、この操作はサポートされていません。 この呼出しにより同じ内容の可変記述子が変更される場合、UnsupportedOperationExceptionをラップするRuntimeOperationsExceptionがスローされます。 それ以外の場合、可変記述子の場合と同じ動作になります。つまり、不正なパラメータのために例外がスローされるか、何も実行されないかのどちらかになります。
        定義:
        setFields、インタフェース: Descriptor
        パラメータ:
        fieldNames - フィールド名の文字列配列。 配列および配列要素は、nullにはできない。
        fieldValues - 対応するフィールド値から成るオブジェクト配列。 配列はnull以外。 配列要素はnullの場合もある。
        例外:
        RuntimeOperationsException - 何らかの理由で変更が失敗した場合。 fieldNamesまたはfieldValuesがnullの場合、配列の長さが異なる場合、または、それらのいずれかに不正な値が存在する場合に、ラップされた例外はIllegalArgumentExceptionになる。 記述子が不変で、呼出しによりその内容が変更される場合、ラップされた例外はUnsupportedOperationExceptionになる。
        関連項目:
        Descriptor.getFields()
      • setField

        public final void setField​(String fieldName,
                                   Object fieldValue)
                            throws RuntimeOperationsException
        このクラスは不変であるため、この操作はサポートされていません。 この呼出しにより同じ内容の可変記述子が変更される場合、UnsupportedOperationExceptionをラップするRuntimeOperationsExceptionがスローされます。 それ以外の場合、可変記述子の場合と同じ動作になります。つまり、不正なパラメータのために例外がスローされるか、何も実行されないかのどちらかになります。
        定義:
        setField、インタフェース: Descriptor
        パラメータ:
        fieldName - 設定されるフィールド名。 nullや空文字列は使用できない。
        fieldValue - フィールド名として設定される値。 nullがフィールドで有効な値であれば、nullも使用できる。
        例外:
        RuntimeOperationsException - フィールド名またはフィールド値が不正な場合(ラップされた例外はIllegalArgumentException)、または記述子が不変な場合(ラップされた例外はUnsupportedOperationException)。
      • removeField

        public final void removeField​(String fieldName)
        記述子からフィールドを削除します。
        定義:
        removeField、インタフェース: Descriptor
        パラメータ:
        fieldName - 削除されるフィールドの文字列名。 フィールド名が不正であるか、フィールドが見つからない場合、例外はスローされない。
        例外:
        RuntimeOperationsException - 指定した名前のフィールドが存在し、記述子が不変の場合。 ラップされた例外は、UnsupportedOperationExceptionになる。