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

クラスImmutableDescriptor

java.lang.Object
javax.management.ImmutableDescriptor
すべての実装されたインタフェース:
Serializable, Cloneable, Descriptor

public class ImmutableDescriptor
extends Object
implements Descriptor
不変記述子。
導入されたバージョン:
1.6
関連項目:
直列化された形式
  • フィールドのサマリー

    フィールド 
    修飾子と型 フィールド 説明
    static ImmutableDescriptor EMPTY_DESCRIPTOR
    空の記述子。
  • コンストラクタのサマリー

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

    修飾子と型 メソッド 説明
    Descriptor clone()
    この記述子と等価な記述子を返します。
    boolean equals​(Object o)
    この記述子と指定されたオブジェクトを比較します。
    int hashCode()
    この記述子のハッシュ・コード値を返します。
    boolean isValid()
    すべてのフィールドの値がそれぞれの名前に対して有効な場合は、trueを返します。
    void removeField​(String fieldName)
    記述子からフィールドを削除します。
    void setField​(String fieldName, Object fieldValue)
    このクラスは不変であるため、この操作はサポートされていません。
    void setFields​(String[] fieldNames, Object[] fieldValues)
    このクラスは不変であるため、この操作はサポートされていません。
    static ImmutableDescriptor union​(Descriptor... descriptors)
    内容が指定した記述子の和集合であるImmutableDescriptorを返します。

    クラス java.lang.Objectで宣言されたメソッド

    finalize, getClass, notify, notifyAll, toString, wait, wait, wait

    インタフェース javax.management.Descriptorで宣言されたメソッド

    getFieldNames, getFields, getFieldValue, getFieldValues
  • フィールド詳細

  • コンストラクタの詳細

    • 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を返す場合に、同一と見なされる。
    • 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)
    • 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になる。