Java Debug Interface

com.sun.jdi
インタフェース ReferenceType

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

public interface ReferenceType
extends Type, Comparable<ReferenceType>, Accessible

ターゲット VM 内の任意のオブジェクトの型を表します。「JavaTM 言語仕様」で規定されているように、ReferenceType はクラス型、インタフェース型、および配列型の 3 つをカバーします。すべての ReferenceType オブジェクトは、クラスの ClassType、インタフェースの InterfaceType、配列の ArrayType のいずれかのサブインタフェースに属します。プリミティブクラス (Integer.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 を返します。
 List<Location> locationsOfLine(String stratum, String sourceName, int lineNumber)
          指定された行番号にマッピングされたすべての Location オブジェクトを含む List を返します。
 int majorVersion()
          「Java 仮想マシン仕様」のクラスファイル形式の説明に定義されているように、クラスのメジャーバージョン番号を返します。
 List<Method> methods()
          この型内で宣言された各 Method を含むリストを返します。
 List<Method> methodsByName(String name)
          指定された名前を持つ各可視 Method を含む List を返します。
 List<Method> methodsByName(String name, String signature)
          指定された名前とシグニチャーを持つ各可視 Method を含む List を返します。
 int minorVersion()
          「Java 仮想マシン仕様」のクラスファイル形式の説明に定義されているように、クラスのマイナーバージョン番号を返します。
 String name()
          この型の完全指定名を取得します。
 List<ReferenceType> nestedTypes()
          この型内に宣言され、現在仮想マシンにロードされている ReferenceType オブジェクトを含む List を返します。
 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
 
インタフェース com.sun.jdi.Mirror から継承されたメソッド
toString, virtualMachine
 
インタフェース java.lang.Comparable から継承されたメソッド
compareTo
 
インタフェース com.sun.jdi.Accessible から継承されたメソッド
isPackagePrivate, isPrivate, isProtected, isPublic, modifiers
 

メソッドの詳細

name

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

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

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

genericSignature

String genericSignature()
存在する場合は、この型の総称シグニチャーを取得します。総称シグニチャーについては、 「JavaTM 仮想マシン仕様、第 3 版」を参照してください。

戻り値:
総称シグニチャーを含む文字列、総称シグニチャーが存在しない場合は null
導入されたバージョン:
1.5

classLoader

ClassLoaderReference classLoader()
この型に対応するクラスをロードしたクラスローダーのオブジェクトを取得します。

戻り値:
クラスローダーをミラー化する ClassLoaderReference。クラスがブートストラップクラスローダーによってロードされた場合は null

sourceName

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

戻り値のソース名は、VM のデフォルト層 (VirtualMachine.getDefaultStratum()) に応じて変わります。リファレンス実装では、基底層を使用する場合、この型の宣言が含まれているソースファイルの非修飾名が文字列として返されます。その他の層の場合、その層の 1 番目のソース名が返されます。Java 以外のプログラミング言語では、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

sourceDebugExtension

String sourceDebugExtension()
                            throws AbsentInformationException
この型のソースデバッグ拡張機能を取得します。

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

戻り値:
ソースデバッグ拡張機能の属性の文字列
例外:
AbsentInformationException - 拡張が指定されていない場合
UnsupportedOperationException - ターゲット仮想マシンでこの操作がサポートされていない場合。canGetSourceDebugExtension() を参照

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 オブジェクトのリスト。フィールドが存在しない場合は、リストの長さはゼロになる。
例外:
ClassNotPreparedException - このクラスがまだ準備されていない場合。

visibleFields

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

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

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

allFields

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

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

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

fieldByName

Field fieldByName(String fieldName)
指定されたあいまいでない名前で、可視 Field を検索します。このメソッドは、「Java 言語仕様」のセクション 8.3.3 に指定された継承規則に従って可視性を判断します。

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

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

methods

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

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

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

visibleMethods

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

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

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

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

allMethods

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

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

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

methodsByName

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

オーバーライドされたメソッドおよび隠されたメソッドは、含まれません。詳細は、「Java 言語仕様」のセクション 8.4.6 を参照してください。

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

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

methodsByName

List<Method> methodsByName(String name,
                           String signature)
指定された名前とシグニチャーを持つ各可視 Method を含む List を返します。シグニチャー文字列は、ターゲットメソッドの JNI シグニチャーです。 このメソッドは、Java 言語仕様のセクション 8.4.6 に明記された継承規則に従って可視性を判断します。

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

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

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

nestedTypes

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

配列 (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 オブジェクトのリスト。
戻り値:
要求された Field オブジェクトとその Value の Map。
例外:
IllegalArgumentException - このオブジェクトのクラスにとって無効なフィールドがある場合。
VMMismatchException - Mirror 引数とこのミラーが同じ VirtualMachine に属さない場合。

classObject

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

戻り値:
ターゲット VM 内のこの参照型の ClassObjectReference

allLineLocations

List<Location> allLineLocations()
                                throws AbsentInformationException
この参照型内の各実行可能ソース行の Location オブジェクトを含むリストを返します。

このメソッドは、allLineLocations(vm.getDefaultStratum(),null) と等価です。詳細は、allLineLocations(String,String) を参照してください。

例外:
AbsentInformationException - このクラスに対する行番号情報がなく、かつこのクラスの実行可能メンバーとして非 native で非 abstract なものが含まれる場合。
ClassNotPreparedException - このクラスがまだ準備されていない場合。

allLineLocations

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

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

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

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

locationsOfLine

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

このメソッドは、locationsOfLine(vm.getDefaultStratum(), null, lineNumber) と等価です。詳細は、 locationsOfLine(java.lang.String,java.lang.String,int) を参照してください。

パラメータ:
lineNumber - 行番号
戻り値:
指定された行にマッピングされたすべての Location オブジェクトの List。
例外:
AbsentInformationException - このクラスに対する行番号情報がない場合。
ClassNotPreparedException - このクラスがまだ準備されていない場合。
関連項目:
VirtualMachine.getDefaultStratum()

locationsOfLine

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

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

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

パラメータ:
stratum - 行番号とソース名の比較に使う層。defaultStratum() を使う場合は null
sourceName - 行番号を含むソース名。すべてのソース名に一致させる場合は null
lineNumber - 行番号
戻り値:
指定された行にマッピングされたすべての Location オブジェクトの List。
例外:
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 オブジェクトの List。この ReferenceType のインスタンスが存在しない場合は、長さゼロのリストを返す。
例外:
UnsupportedOperationException - ターゲット仮想マシンでこの操作がサポートされていない場合。canGetInstanceInfo() を参照。
IllegalArgumentException - maxInstances がゼロ未満の場合。
導入されたバージョン:
1.6
関連項目:
VirtualMachine.instanceCounts(List), ObjectReference.referringObjects(long)

equals

boolean equals(Object obj)
指定された Object とこの ReferenceType が等しいかどうかを比較します。

オーバーライド:
クラス Object 内の equals
パラメータ:
obj - the reference object with which to compare.
戻り値:
Object が ReferenceType である場合、両方の ReferenceType が同じ VM に属している場合、およびその VM の java.lang.Class の同じインスタンスに対応するクラスが ReferenceType によってミラー化されている場合は true。
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
この ObjectReference のハッシュコード値を返します。

オーバーライド:
クラス Object 内の hashCode
戻り値:
整数のハッシュコード
関連項目:
Object.equals(java.lang.Object), Hashtable

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()

Java Debug Interface