モジュール jdk.jfr
パッケージ jdk.jfr.consumer

クラスRecordedObject

  • 直系の既知のサブクラス:
    RecordedClass, RecordedClassLoader, RecordedEvent, RecordedFrame, RecordedMethod, RecordedStackTrace, RecordedThread, RecordedThreadGroup

    public class RecordedObject
    extends Object
    1つ以上のフィールドで構成される複合データ型。

    このクラスでは、ドット"."で区切られたStringオブジェクト(たとえば、"aaa.bbb"です。)を渡して、ネストされたオブジェクトを選択および問合せするメソッドを提供します。 メソッドはネストされたオブジェクトを左から右に評価し、部品がnullである場合はNullPointerExceptionをスローします。

    導入されたバージョン:
    9
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      boolean getBoolean​(String name)
      boolean型のフィールドの値を返します。
      byte getByte​(String name)
      byte型のフィールドの値を返します。
      char getChar​(String name)
      char型のフィールドの値を返します。
      RecordedClass getClass​(String name)
      Class型のフィールドの値を返します。
      double getDouble​(String name)
      広範な変換によってdouble型のフィールド、またはdouble型に変換可能な別のプリミティブ型のフィールドの値を返します。
      Duration getDuration​(String name)
      timespanフィールドの値を返します。
      List<ValueDescriptor> getFields()
      このオブジェクトのフィールドの不変なリストを返します。
      float getFloat​(String name)
      広範な変換によってfloat型のフィールド、またはfloat型に変換可能な別のプリミティブ型のフィールドの値を返します。
      Instant getInstant​(String name)
      タイムスタンプ・フィールドの値を返します。
      int getInt​(String name)
      広範な変換によってint型のフィールド、またはint型に変換可能な別のプリミティブ型のフィールドの値を返します。
      long getLong​(String name)
      広範な変換によってlong型のフィールド、またはlong型に変換可能な別のプリミティブ型のフィールドの値を返します。
      short getShort​(String name)
      広範な変換によってshort型のフィールド、またはshort型に変換可能な別のプリミティブ型のフィールドの値を返します。
      String getString​(String name)
      String型のフィールドの値を返します。
      RecordedThread getThread​(String name)
      Thread型のフィールドの値を返します。
      <T> T getValue​(String name)
      指定された名前のフィールドの値を返します。
      boolean hasField​(String name)
      指定された名前のフィールドが存在する場合はtrueを返し、そうでない場合はfalse
      String toString()
      このオブジェクトのテキスト表現を返します。
    • メソッドの詳細

      • hasField

        public boolean hasField​(String name)
        指定された名前のフィールドが存在する場合はtrueを返し、そうでない場合はfalse
        パラメータ:
        name - 取得するフィールドの名前。nullではありません。
        戻り値:
        フィールドが存在する場合はtrue、それ以外の場合はfalse
        関連項目:
        getFields()
      • getValue

        public final <T> T getValue​(String name)
        指定された名前のフィールドの値を返します。

        戻り値の型は、プリミティブ型またはRecordedObjectのサブクラスです。

        "."を使用すると、ネストしたオブジェクトに索引を付けることができます(たとえば"thread.group.parent.name)。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

         
         if (event.hasField("intValue")) {
           int intValue = event.getValue("intValue");
           System.out.println("Int value: " + intValue);
         }
        
         if (event.hasField("objectClass")) {
           RecordedClass clazz = event.getValue("objectClass");
           System.out.println("Class name: " + clazz.getName());
         }
        
         if (event.hasField("sampledThread")) {
           RecordedThread sampledThread = event.getValue("sampledThread");
           System.out.println("Sampled thread: " + sampledThread.getName());
         }
         
         

        型パラメータ:
        T - 戻り値の型
        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        値はnullです。
        例外:
        IllegalArgumentException - nameというフィールドが存在しない場合
        関連項目:
        hasField(String)
      • getFields

        public List<ValueDescriptor> getFields()
        このオブジェクトのフィールドの不変なリストを返します。
        戻り値:
        nullではなく、フィールド
      • getBoolean

        public final boolean getBoolean​(String name)
        boolean型のフィールドの値を返します。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールドの名前。nullではありません。
        戻り値:
        フィールドの値、trueまたはfalse
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがbooleanではない場合
        関連項目:
        hasField(String), getValue(String)
      • getByte

        public final byte getByte​(String name)
        byte型のフィールドの値を返します。

        "." (たとえば、"foo.bar")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        フィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがbyteではない場合
        関連項目:
        hasField(String), getValue(String)
      • getChar

        public final char getChar​(String name)
        char型のフィールドの値を返します。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        charとしてのフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがcharではない場合
        関連項目:
        hasField(String), getValue(String)
      • getShort

        public final short getShort​(String name)
        広範な変換によってshort型のフィールド、またはshort型に変換可能な別のプリミティブ型のフィールドの値を返します。

        このメソッドは、次の型で使用できます。: shortbyte

        フィールドに@Unsigned注釈があり、shortよりも狭いタイプである場合は、値が符号なしで返されます。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        short型に変換されたフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプshortに変換できない場合
        関連項目:
        hasField(String)
      • getInt

        public final int getInt​(String name)
        広範な変換によってint型のフィールド、またはint型に変換可能な別のプリミティブ型のフィールドの値を返します。

        このメソッドは、次のタイプのフィールドで使用できます。: intshortchar、およびbyteを含む。

        フィールドに@Unsigned注釈があり、intよりも狭いタイプである場合は、値が符号なしで返されます。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        int型に変換されたフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプintに変換できない場合
        関連項目:
        hasField(String)
      • getFloat

        public final float getFloat​(String name)
        広範な変換によってfloat型のフィールド、またはfloat型に変換可能な別のプリミティブ型のフィールドの値を返します。

        このメソッドは、次のタイプのフィールドで使用できます。: floatlongintshortcharおよびbyte

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        float型に変換されたフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプfloatに変換できない場合
        関連項目:
        hasField(String)
      • getLong

        public final long getLong​(String name)
        広範な変換によってlong型のフィールド、またはlong型に変換可能な別のプリミティブ型のフィールドの値を返します。

        このメソッドは、次のタイプのフィールドで使用できます。: longintshortcharおよびbyte

        フィールドに@Unsigned注釈があり、longよりも狭いタイプである場合は、値が符号なしで返されます。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        long型に変換されたフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプlongに変換できない場合
        関連項目:
        hasField(String)
      • getDouble

        public final double getDouble​(String name)
        広範な変換によってdouble型のフィールド、またはdouble型に変換可能な別のプリミティブ型のフィールドの値を返します。

        このメソッドは、次のタイプのフィールドで使用できます。: doublefloatlongintshortcharおよびbyte

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        double型に変換されたフィールドの値
        例外:
        IllegalArgumentException - フィールドが存在しない場合、または広範囲の変換によってフィールド値をタイプdoubleに変換できない場合
        関連項目:
        hasField(String)
      • getString

        public final String getString​(String name)
        String型のフィールドの値を返します。

        "." (たとえば、"foo.bar")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        Stringとしてのフィールドの値は、null
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがStringではない場合
        関連項目:
        hasField(String)
      • getDuration

        public final Duration getDuration​(String name)
        timespanフィールドの値を返します。

        このメソッドは、@Timespanで注釈が付けられたフィールドおよび次のタイプのフィールドに使用できます: longintshortcharおよびbyte

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        DurationではなくDurationで表された時間スパン
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールド値をDurationオブジェクトに変換できない場合
        関連項目:
        hasField(String)
      • getInstant

        public final Instant getInstant​(String name)
        タイムスタンプ・フィールドの値を返します。

        このメソッドは、@Timestampで注釈が付けられたフィールドおよび次のタイプのフィールドに使用できます: longintshortcharおよびbyte

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        nullではなくInstantとして表されるタイムスタンプ
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールド値をInstantオブジェクトに変換できない場合
        関連項目:
        hasField(String)
      • getClass

        public final RecordedClass getClass​(String name)
        Class型のフィールドの値を返します。

        "." (たとえば、"aaa.bbb")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        RecordedClassとしてのフィールドの値は、null
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがClassではない場合
        関連項目:
        hasField(String)
      • getThread

        public final RecordedThread getThread​(String name)
        Thread型のフィールドの値を返します。

        "." (たとえば、"foo.bar")を使用して、ネストされたオブジェクトに索引を付けることができます。

        フィールドは、JDKの将来のリリースで変更または削除される可能性があります。 このメソッドの呼出し元のベスト・プラクティスは、アクセスを試みる前にフィールドを検証することです。

        パラメータ:
        name - 取得するフィールド(nullではない)
        戻り値:
        RecordedThreadオブジェクトとしてのフィールドの値はnullです
        例外:
        IllegalArgumentException - フィールドが存在しない場合、またはフィールドのタイプがThreadではない場合
        関連項目:
        hasField(String)
      • toString

        public final String toString()
        このオブジェクトのテキスト表現を返します。
        オーバーライド:
        toString 、クラス:  Object
        戻り値:
        このオブジェクトのテキスト記述