モジュール jdk.jdi
パッケージ com.sun.jdi

インタフェースReferenceType

  • すべてのスーパー・インタフェース:
    Accessible, Comparable<ReferenceType>, Mirror, Type
    既知のすべてのサブインタフェース:
    ArrayType, ClassType, InterfaceType


    public interface ReferenceType
    extends Type, Comparable<ReferenceType>, Accessible
    ターゲットVM内の任意のオブジェクトの型を表します。 Java™言語仕様で規定されているように、ReferenceTypeはクラス型、インタフェース型、および配列型の3つをカバーします。 すべてのReferenceTypeオブジェクトは、クラスのClassType、インタフェースのInterfaceType、配列のArrayTypeのいずれかのサブインタフェースに属します。 プリミティブ・クラス(Integer.TYPEreflected typeなど)は、ClassTypeとして表されることに注意してください。 VMはこれら3つの型のどの場合もClassオブジェクトを生成するため、VMから見ると、各ReferenceTypeは個別のClassオブジェクトにマッピングされます。

    ReferenceTypeを取得するには、特定のObjectReferenceにその型を照会するか、VirtualMachineからすべての参照型のリストを取得します。

    ReferenceTypeを使用して、メソッドやフィールドなどの静的な型の情報、または対応するClassオブジェクトやクラス・ローダーなどの動的な型の情報にアクセスすることができます。

    ターゲットVMが切断された場合、ReferenceTypeを直接的または間接的にパラメータとして取るReferenceType上の任意のメソッドは、VMDisconnectedExceptionをスローし、VMDisconnectEventEventQueueから読出せるようになります。

    ReferenceTypeを直接的または間接的にパラメータとして取るReferenceType上の任意のメソッドは、ターゲットVMのメモリーが不足するとVMOutOfMemoryExceptionをスローします。

    ReferenceTypeを直接的または間接的にパラメータに取るReferenceType上の任意のメソッドは、ミラーされた型がアンロードされた場合にObjectCollectedExceptionをスローします。

    導入されたバージョン:
    1.3
    関連項目:
    ObjectReference, ObjectReference.referenceType(), VirtualMachine, VirtualMachine.allClasses()
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド デフォルト・メソッド 
      修飾子と型 メソッド 説明
      List<Field> allFields​()
      この型、そのスーパー・クラス、実装インタフェース、およびスーパー・インタフェース、またはそのいずれかで宣言された各Fieldを含むリストを返します。
      List<Location> allLineLocations​()
      この参照型内の各実行可能ソース行のLocationオブジェクトを含むリストを返します。
      List<Location> allLineLocations​(String stratum, String sourceName)
      この参照型内の各実行可能ソース行のLocationオブジェクトを含むリストを返します。
      List<Method> allMethods​()
      この型、そのスーパー・クラス、実装インタフェース、およびスーパー・インタフェース、またはそのいずれかで宣言された各Methodを含むリストを返します。
      List<String> availableStrata​()
      この参照型で利用可能な層を返します。
      ClassLoaderReference classLoader​()
      この型に対応するクラスをロードしたクラス・ローダーのオブジェクトを取得します。
      ClassObjectReference classObject​()
      ターゲットVM内でこの型に対応するクラス・オブジェクトを返します。
      byte[] constantPool​()
      「Java仮想マシン仕様」のクラス・ファイル形式の説明に記載されているconstant_pool項目の形式で、定数プールのrawバイト数を返します。
      int constantPoolCount​()
      定数プール内のエントリ数に1を加えた値を返します。
      String defaultStratum​()
      この参照型のデフォルト層を返します。
      boolean equals​(Object obj)
      指定されたObjectとこのReferenceTypeが等しいかどうかを比較します。
      boolean failedToInitialize​()
      このクラスの初期化が失敗したかどうかを判定します。
      Field fieldByName​(String fieldName)
      指定されたあいまいでない名前で、可視Fieldを検索します。
      List<Field> fields​()
      この型で宣言された各Fieldを含むリストを返します。
      String genericSignature​()
      存在する場合は、この型のジェネリック・シグニチャを取得します。
      Value getValue​(Field field)
      この型の指定のstatic FieldValueを取得します。
      Map<Field,Value> getValues​(List<? extends Field> fields)
      指定のリストにある各static FieldValueを含むマップを返します。
      int hashCode​()
      このObjectReferenceのハッシュ・コード値を返します。
      List<ObjectReference> instances​(long maxInstances)
      このReferenceTypeのインスタンスを返します。
      boolean isAbstract​()
      この型がabstractとして宣言されたかどうかを判定します。
      boolean isFinal​()
      この型がfinalとして宣言されたかどうかを判定します。
      boolean isInitialized​()
      この型が初期化されているかどうかを判定します。
      boolean isPrepared​()
      この型が準備されているかどうかを判定します。
      boolean isStatic​()
      この型がstaticとして宣言されたかどうかを判定します。
      boolean isVerified​()
      この型が検証されているかどうかを判定します。
      List<Location> locationsOfLine​(int lineNumber)
      指定された行番号にマッピングされたすべてのLocationオブジェクトを含むリストを返します。
      List<Location> locationsOfLine​(String stratum, String sourceName, int lineNumber)
      指定された行番号にマッピングされたすべてのLocationオブジェクトを含むリストを返します。
      int majorVersion​()
      「Java仮想マシン仕様」のクラス・ファイル形式の説明に定義されているように、クラスのメジャー・バージョン番号を返します。
      List<Method> methods​()
      この型で直接宣言された各Methodを含むリストを返します。
      List<Method> methodsByName​(String name)
      指定された名前を持つ各可視Methodを含むリストを返します。
      List<Method> methodsByName​(String name, String signature)
      指定された名前とシグニチャを持つ各可視Methodを含むリストを返します。
      int minorVersion​()
      「Java仮想マシン仕様」のクラス・ファイル形式の説明に定義されているように、クラスのマイナー・バージョン番号を返します。
      default ModuleReference module​()
      この型に対応するクラスを含むモジュール・オブジェクトを取得します。
      String name​()
      この型の完全指定名を取得します。
      List<ReferenceType> nestedTypes​()
      この型内に宣言され、現在仮想マシンにロードされているReferenceTypeオブジェクトを含むリストを返します。
      String sourceDebugExtension​()
      この型のソース・デバッグ拡張機能を取得します。
      String sourceName​()
      この型の宣言に対応するソースの識別名を取得します。
      List<String> sourceNames​(String stratum)
      この型の宣言に対応するすべてのソースの識別名を取得します。
      List<String> sourcePaths​(String stratum)
      この型の宣言に対応するすべてのソースのパスを取得します。
      List<Field> visibleFields​()
      この型内の非表示でなくあいまいでない各Fieldを含むリストを返します。
      List<Method> visibleMethods​()
      この型によって宣言された、またはこの型に継承された各Methodを含むリストを返します。
      • インタフェース com.sun.jdi.Typeから継承されたメソッド

        signature
    • メソッドの詳細

      • name

        String name​()
        この型の完全指定名を取得します。 この名前は、この型のオブジェクトがJavaプログラミング言語で宣言される場合と同様の書式で返されます。

        プリミティブ・クラスの場合、返される名前は対応するプリミティブ型の名前です。たとえば、Integer.TYPEによって表されるクラスの名前はintとして返されます。

        定義:
        name 、インタフェース: Type
        戻り値:
        型名を含む文字列。
      • genericSignature

        String genericSignature​()
        存在する場合は、この型のジェネリック・シグニチャを取得します。 ジェネリック・シグニチャについては、「Java™仮想マシン仕様」を参照してください。
        戻り値:
        ジェネリック・シグニチャを含む文字列、またはジェネリック・シグニチャが存在しない場合はnull
        導入されたバージョン:
        1.5
      • classLoader

        ClassLoaderReference classLoader​()
        この型に対応するクラスをロードしたクラス・ローダーのオブジェクトを取得します。
        戻り値:
        クラス・ローダーをミラー化するClassLoaderReference。クラスがブートストラップ・クラス・ローダーによってロードされた場合はnull
      • module

        default ModuleReference module​()
        この型に対応するクラスを含むモジュール・オブジェクトを取得します。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 VirtualMachine.canGetModuleInfo()を使用して、操作がサポートされているかどうかを判断します。
        実装要件:
        デフォルト実装はUnsupportedOperationExceptionをスローします。
        戻り値:
        ターゲットVM内のモジュールをミラー・リングするModuleReference
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合。
        導入されたバージョン:
        9
      • sourceName

        String sourceName​()
                   throws AbsentInformationException
        この型の宣言に対応するソースの識別名を取得します。 この文字列は、ソース・リポジトリ・メカニズムで解釈されます。

        戻り値のソース名は、VMのデフォルト層(VirtualMachine.getDefaultStratum())に応じて変わります。 リファレンス実装では、基底層を使用する場合、この型の宣言が含まれているソース・ファイルの非修飾名が文字列として返されます。 その他の層の場合、その層の1番目のソース名が返されます。 その他の言語では、1つの参照型に対して複数のソース・ファイルが存在する可能性があるため、Location.sourceName()またはsourceNames(String)を使用することをお勧めします。

        配列(ArrayType)およびプリミティブ・クラスの場合、常にAbsentInformationExceptionがスローされます。

        戻り値:
        文字列型のソース・ファイル名
        例外:
        AbsentInformationException - ソース名が不明の場合
      • sourceNames

        List<String> sourceNames​(String stratum)
                          throws AbsentInformationException
        この型の宣言に対応するすべてのソースの識別名を取得します。 この名前は、ソース・リポジトリ・メカニズムで解釈されます。

        返される名前は、指定された層の名前です。層の詳細は、Locationを参照してください。 リファレンス実装では、Javaプログラミング言語層を使用する場合、返されるListに含まれる要素は、String要素(この型の宣言が含まれているソース・ファイルの非修飾名)だけになります。 その他の層を使用する場合、その層で定義されているすべてのソース名が返されます。

        パラメータ:
        stratum - 情報取得元の層。宣言する型のデフォルト層を使用する場合はnull
        戻り値:
        ソース名を表すStringオブジェクトのList
        例外:
        AbsentInformationException - ソース名が不明の場合。

        配列(ArrayType)およびプリミティブ・クラスの場合、常にAbsentInformationExceptionがスローされます。

        導入されたバージョン:
        1.4
      • sourcePaths

        List<String> sourcePaths​(String stratum)
                          throws AbsentInformationException
        この型の宣言に対応するすべてのソースのパスを取得します。 このパスは、ソース・リポジトリ・メカニズムで解釈されます。

        返されるパスは、指定された層のパスです。層の詳細は、Locationを参照してください。 リファレンス実装では、Javaプログラミング言語層のようにソース・パスを明示的に指定しない層の場合、ReferenceTypeのパッケージ名をプラットフォーム固有のパス名に変換した結果にsourceNames(String)を付加した文字列が返されます。 たとえば、Windowsプラットフォームの場合、java.lang.Threadは1つの要素"java\lang\Thread.java"を含むListを返します。

        パラメータ:
        stratum - 情報取得元の層。宣言する型のデフォルト層を使用する場合はnull
        戻り値:
        ソース・パスを表すStringオブジェクトのList
        例外:
        AbsentInformationException - ソース名が不明の場合。

        配列(ArrayType)およびプリミティブ・クラスの場合、常にAbsentInformationExceptionがスローされます。

        導入されたバージョン:
        1.4
      • isStatic

        boolean isStatic​()
        この型がstaticとして宣言されたかどうかを判定します。 型を入れ子にしないとstaticとして宣言できないため、パッケージ・レベルの型、配列型、またはプリミティブ・クラスの場合はfalseが返されます。
        戻り値:
        この型がstaticの場合はtrue、それ以外の場合はfalse。
      • isAbstract

        boolean isAbstract​()
        この型がabstractとして宣言されたかどうかを判定します。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は未定義です。

        戻り値:
        この型がabstractの場合はtrue、それ以外の場合はfalse。
      • isFinal

        boolean isFinal​()
        この型がfinalとして宣言されたかどうかを判定します。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は常にtrueです。

        戻り値:
        この型がfinalの場合はtrue、それ以外の場合はfalse。
      • isPrepared

        boolean isPrepared​()
        この型が準備されているかどうかを判定します。 クラス準備の定義については、JVM仕様を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は未定義です。

        戻り値:
        この型が準備されている場合はtrue、それ以外の場合はfalse。
      • isVerified

        boolean isVerified​()
        この型が検証されているかどうかを判定します。 クラスの検証の定義については、JVM仕様を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は未定義です。

        戻り値:
        この型が検証されている場合はtrue、それ以外の場合はfalse。
      • isInitialized

        boolean isInitialized​()
        この型が初期化されているかどうかを判定します。 クラスの検証の定義については、JVM仕様を参照してください。 InterfaceTypeの場合、このメソッドは常にisPrepared()と同じ値を返します。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は未定義です。

        戻り値:
        この型が初期化されている場合はtrue、それ以外の場合はfalse。
      • failedToInitialize

        boolean failedToInitialize​()
        このクラスの初期化が失敗したかどうかを判定します。 クラスの初期化については、JVM仕様を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は未定義です。

        戻り値:
        初期化を試行したが失敗した場合はtrue、それ以外の場合はfalse。
      • fields

        List<Field> fields​()
        この型で宣言された各Fieldを含むリストを返します。 継承したフィールドは含まれません。 コンパイラによって作成された合成フィールドがある場合は、そのフィールドもこのリストに含まれます。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        FieldオブジェクトのList。フィールドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • visibleFields

        List<Field> visibleFields​()
        この型内の非表示でなくあいまいでない各Fieldを含むリストを返します。 このクラスまたはそのインスタンスから、単純名でアクセスできる各フィールドが含まれます。 あいまいに多重継承されたフィールド、つまり後で継承されたクラスの同じ名前のフィールドによって隠されたフィールドには、単純名でアクセスすることはできません。このようなフィールドは、返されるリストにも含まれません。 その他の継承されたフィールドは、すべてこのリストに含まれます。 詳細は、JLSのセクション8.3を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        FieldオブジェクトのList。可視フィールドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • allFields

        List<Field> allFields​()
        この型、そのスーパー・クラス、実装インタフェース、およびスーパー・インタフェース、またはそのいずれかで宣言された各Fieldを含むリストを返します。 隠しフィールドおよび多重継承されたフィールドを含め、宣言されたフィールドおよび継承されたフィールドをすべて返します。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        FieldオブジェクトのList。フィールドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • fieldByName

        Field fieldByName​(String fieldName)
        指定されたあいまいでない名前で、可視Fieldを検索します。 このメソッドは、JLS (8.3.3)に指定された継承規則に従って可視性を判断します。

        配列(ArrayType)およびプリミティブ・クラスの場合、戻り値は常にnullです。

        パラメータ:
        fieldName - 目的のフィールドの名前を含む文字列。
        戻り値:
        見つかったフィールドをミラー化するFieldオブジェクト。指定の名前のフィールドがない場合、または指定の名前があいまいな場合はnull。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • methods

        List<Method> methods​()
        この型で直接宣言された各Methodを含むリストを返します。 継承されたメソッドは、含まれません。 このリストには、コンストラクタ、初期化メソッド(ある場合)、およびコンパイラによって作成された合成メソッドが含まれます。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        Methodオブジェクトのリスト。メソッドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • visibleMethods

        List<Method> visibleMethods​()
        この型によって宣言された、またはこの型に継承された各Methodを含むリストを返します。 隠されたまたはオーバーライドされた、スーパー・クラスまたはスーパー・インタフェースからのメソッドは含まれません。

        ただし返されるリストには、同じシグニチャを持つ多重継承メソッドが含まれることがありますが、ClassTypeのメンバーが複数含まれることはありません。 詳細は、JLSのセクション8.4.6を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        MethodオブジェクトのList。可視メソッドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • allMethods

        List<Method> allMethods​()
        この型、そのスーパー・クラス、実装インタフェース、およびスーパー・インタフェース、またはそのいずれかで宣言された各Methodを含むリストを返します。 隠しメソッドおよびオーバーライドされたメソッドを含め、宣言されたメソッドおよび継承されたメソッドをすべて返します。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        Methodオブジェクトのリスト。メソッドが存在しない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • methodsByName

        List<Method> methodsByName​(String name)
        指定された名前を持つ各可視Methodを含むリストを返します。 オーバーロードされたメソッドを検索するときによく使用します。

        オーバーライドされたメソッドおよび隠されたメソッドは、含まれません。 詳細は、JLSの8.4.6を参照してください。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        パラメータ:
        name - 検索対象のメソッドの名前。
        戻り値:
        指定の名前に一致するMethodオブジェクトのList。一致するメソッドが見つからない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • methodsByName

        List<Method> methodsByName​(String name,
                                   String signature)
        指定された名前とシグニチャを持つ各可視Methodを含むリストを返します。 シグニチャ文字列は、ターゲット・メソッドのJNIシグニチャです。
        • ()V
        • ([Ljava/lang/String;)V
        • (IIII)Z
        このメソッドは、JLS (8.4.6)に明記された継承規則に従って可視性を判断します。

        このリストには、ClassTypeの構成要素である具象メソッドが複数含まれることはありません。このリスト内のその他のメソッドは、抽象メソッドです。 一致する具象メソッドだけを取得するには、ClassType.concreteMethodByName(java.lang.String, java.lang.String)を使用します。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        パラメータ:
        name - 検索対象のメソッドの名前。
        signature - 検索対象のメソッドのシグニチャ
        戻り値:
        指定の名前およびシグニチャに一致するMethodオブジェクトのList。一致するメソッドが見つからない場合は、リストの長さはゼロになる。
        例外:
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
      • nestedTypes

        List<ReferenceType> nestedTypes​()
        この型内に宣言され、現在仮想マシンにロードされているReferenceTypeオブジェクトを含むリストを返します。 静的な入れ子になった型と、静的でない入れ子になった型(つまり、内部型)の両方が含まれます。 この参照型内のコード・ブロックに宣言されたローカル内部型も、返されるリストに含まれます。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。

        戻り値:
        入れ子になったReferenceTypeオブジェクトのList。入れ子になった型がない場合は、リストの長さはゼロになる。
      • getValue

        Value getValue​(Field field)
        この型の指定のstatic FieldValueを取得します。 Fieldは、この型に対して有効である必要があります。つまり、Fieldは、この型、スーパー・クラス、スーパー・インタフェース、または実装インタフェースで宣言されている必要があります。
        パラメータ:
        field - 要求された値を含むフィールド
        戻り値:
        インスタンス・フィールドのValue
        例外:
        IllegalArgumentException - フィールドがこのオブジェクトのクラスにとって有効でない場合。
      • getValues

        Map<Field,Value> getValues​(List<? extends Field> fields)
        指定のリストにある各static FieldValueを含むマップを返します。 Fieldは、この型に対して有効である必要があります。つまり、Fieldは、この型、スーパー・クラス、スーパー・インタフェース、または実装インタフェースで宣言されている必要があります。
        パラメータ:
        fields - 要求された値を含むFieldオブジェクトのリスト。
        戻り値:
        Valueを含む、要求されたFieldオブジェクトのマップ。
        例外:
        IllegalArgumentException - このオブジェクトのクラスにとって無効なフィールドがある場合。
        VMMismatchException - Mirror引数とこのミラーが同じVirtualMachineに属さない場合。
      • classObject

        ClassObjectReference classObject​()
        ターゲットVM内でこの型に対応するクラス・オブジェクトを返します。 VMは、すべての種類のReferenceType (クラス、インタフェース、および配列型)のクラス・オブジェクトを生成します。
        戻り値:
        ターゲットVM内のこの参照型のClassObjectReference
      • allLineLocations

        List<Location> allLineLocations​(String stratum,
                                        String sourceName)
                                 throws AbsentInformationException
        この参照型内の各実行可能ソース行のLocationオブジェクトを含むリストを返します。 各位置では、特定のソース行がコード・インデックスの特定の範囲にマップされています。 この範囲の開始点は、Location.codeIndex()によって調べることができます。 返されるリストには、特定の行番号に対して複数の位置が含まれる可能性がありますが、これは、コンパイラやVMが特定の行を、連続していない複数のコード・インデックス範囲へマッピングする場合があるからです。 同じソース行が、複数のメソッド間で、異なるコード・インデックスの範囲にマップされていることがあります。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。 インタフェース(InterfaceType)の場合、返されるリストが空にならないのは、そのインタフェースのクラス初期化に実行可能コードが含まれている場合だけです。

        返されるリストは、指定されたのリストです。層の詳細は、Locationを参照してください。

        パラメータ:
        stratum - 情報取得元の層。defaultStratum()を使う場合はnull
        sourceName - 特定のソース・ファイル内の位置だけを取得する場合はそのファイル名、そうでない場合はnull
        戻り値:
        すべてのソース行のLocationオブジェクトのリスト。
        例外:
        AbsentInformationException - このクラスに対する行番号情報がなく、かつこのクラスの実行可能メンバーとして非nativeで非abstractなものが含まれる場合。 またはsourceNamenullでないのにソース名情報が存在しない場合。
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
        導入されたバージョン:
        1.4
      • locationsOfLine

        List<Location> locationsOfLine​(String stratum,
                                       String sourceName,
                                       int lineNumber)
                                throws AbsentInformationException
        指定された行番号にマッピングされたすべてのLocationオブジェクトを含むリストを返します。

        配列(ArrayType)およびプリミティブ・クラスの場合、常に空のリストが返されます。 インタフェース(InterfaceType)の場合、返されるリストが空にならないのは、そのインタフェースのクラス初期化時、指定の行番号に実行可能コードが含まれている場合だけです。 指定された行番号の位置に実行可能コードが存在しない場合は、空のリストが返されます。

        返されるリストは、指定されたのリストです。層の詳細は、Locationを参照してください。

        パラメータ:
        stratum - 行番号とソース名の比較に使う層。defaultStratum()を使う場合はnull
        sourceName - 行番号を含むソース名。すべてのソース名に一致させる場合はnull
        lineNumber - 行番号
        戻り値:
        指定された行にマッピングされたすべてのLocationオブジェクトのリスト。
        例外:
        AbsentInformationException - このクラスに対する行番号情報がない場合。 またはsourceNamenullでないのにソース名情報が存在しない場合。
        ClassNotPreparedException - このクラスがまだ準備されていない場合。
        導入されたバージョン:
        1.4
      • availableStrata

        List<String> availableStrata​()
        この参照型で利用可能な層を返します。

        層については、Locationを参照してください。

        戻り値:
        層を表すjava.lang.StringのList
        導入されたバージョン:
        1.4
      • defaultStratum

        String defaultStratum​()
        この参照型のデフォルト層を返します。 これはクラス・ファイル内で指定され、ユーザーが変更することはできません。 クラス・ファイルにデフォルト層が指定されていない場合は、基底層("Java")が返されます。

        層については、Locationを参照してください。

        導入されたバージョン:
        1.4
      • instances

        List<ObjectReference> instances​(long maxInstances)
        このReferenceTypeのインスタンスを返します。 ガベージ・コレクト目的で到達可能なインスタンスだけが返されます。

        この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetInstanceInfo()を使用します。

        パラメータ:
        maxInstances - 返されるインスタンスの最大数。 負でない数値。 ゼロの場合、すべてのインスタンスが返される。
        戻り値:
        ObjectReferenceオブジェクトのリスト。 このReferenceTypeのインスタンスが存在しない場合は、長さゼロのリストを返す。
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。canGetInstanceInfo()
        IllegalArgumentException - maxInstancesがゼロ未満の場合。
        導入されたバージョン:
        1.6
        関連項目:
        VirtualMachine.instanceCounts(List), ObjectReference.referringObjects(long)
      • equals

        boolean equals​(Object obj)
        指定されたObjectとこのReferenceTypeが等しいかどうかを比較します。
        オーバーライド:
        equals 、クラス:  Object
        パラメータ:
        obj - 比較対象の参照オブジェクト。
        戻り値:
        ObjectがReferenceTypeである場合、両方のReferenceTypeが同じVMに属している場合、およびそのVMのjava.lang.Classの同じインスタンスに対応するクラスがReferenceTypeによってミラー化されている場合はtrue。
        関連項目:
        Object.hashCode()HashMap
      • majorVersion

        int majorVersion​()
        「Java仮想マシン仕様」のクラス・ファイル形式の説明に定義されているように、クラスのメジャー・バージョン番号を返します。 配列(ArrayType)およびプリミティブ・クラスの場合、返されるメジャー・バージョン番号はゼロです。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetClassFileVersion()を使用します。
        戻り値:
        クラスのメジャー・バージョン番号。
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。canGetClassFileVersion()
        導入されたバージョン:
        1.6
      • minorVersion

        int minorVersion​()
        「Java仮想マシン仕様」のクラス・ファイル形式の説明に定義されているように、クラスのマイナー・バージョン番号を返します。 配列(ArrayType)およびプリミティブ・クラスの場合、返されるマイナー・バージョン番号はゼロです。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetClassFileVersion()を使用します。
        戻り値:
        クラスのマイナー・バージョン番号。
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。canGetClassFileVersion()
        導入されたバージョン:
        1.6
      • constantPoolCount

        int constantPoolCount​()
        定数プール内のエントリ数に1を加えた値を返します。 これは、「Java仮想マシン仕様」のクラス・ファイル形式の説明に記載されている、constant_pool_count項目と一致します。 配列(ArrayType)およびプリミティブ・クラスの場合、返される定数プール数の値はゼロです。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetConstantPool()を使用します。
        戻り値:
        クラスの定数プール・エントリ数に1を加えた合計の値。
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。canGetConstantPool()
        導入されたバージョン:
        1.6
        関連項目:
        constantPool()
      • constantPool

        byte[] constantPool​()
        「Java仮想マシン仕様」のクラス・ファイル形式の説明に記載されているconstant_pool項目の形式で、定数プールのrawバイト数を返します。 定数プールの形式は、クラス・ファイル形式のバージョンによって異なる可能性があるので、クラスのメジャー・バージョン番号、マイナー・バージョン番号に互換性があることを確認するようにしてください。 配列(ArrayType)およびプリミティブ・クラスの場合、長さがゼロのバイト配列が返されます。 この操作は、ターゲット仮想マシンでサポートされていないことがあります。 この操作がサポートされているかどうかを確認するには、VirtualMachine.canGetConstantPool()を使用します。
        戻り値:
        定数プールのrawバイト数。
        例外:
        UnsupportedOperationException - ターゲット仮想マシンがこの操作をサポートしていない場合(次を参照)。canGetConstantPool()
        導入されたバージョン:
        1.6
        関連項目:
        constantPoolCount()