Java Debug Interface

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

すべてのスーパーインタフェース:
Mirror, ObjectReference, Value

public interface ArrayReference
extends ObjectReference

ターゲット VM 内の配列オブジェクト要素へのアクセスを提供します。各配列要素は、Value オブジェクトによってミラー化されます。配列要素は、API のその他の部分との一貫性と、その他の API との相互運用性を確保するために、配列ではなく List オブジェクト内に全体として置かれます。

導入されたバージョン:
1.3

フィールドの概要
 
インタフェース com.sun.jdi.ObjectReference から継承されたフィールド
INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED
 
メソッドの概要
 Value getValue(int index)
          配列要素の値を返します。
 List<Value> getValues()
          この配列内のすべての要素を返します。
 List<Value> getValues(int index, int length)
          配列コンポーネントの範囲を返します。
 int length()
          この配列の要素の数を返します。
 void setValue(int index, Value value)
          配列要素を別の値に置き換えます。
 void setValues(int index, List<? extends Value> values, int srcIndex, int length)
          配列要素のある範囲を別の値に置き換えます。
 void setValues(List<? extends Value> values)
          すべての配列要素を別の値に置き換えます。
 
インタフェース com.sun.jdi.ObjectReference から継承されたメソッド
disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, referringObjects, setValue, uniqueID, waitingThreads
 
インタフェース com.sun.jdi.Value から継承されたメソッド
type
 
インタフェース com.sun.jdi.Mirror から継承されたメソッド
toString, virtualMachine
 

メソッドの詳細

length

int length()
この配列の要素の数を返します。

戻り値:
この配列内の要素の数の整数値

getValue

Value getValue(int index)
配列要素の値を返します。

パラメータ:
index - 取得する要素のインデックス
戻り値:
指定されたインデックス位置の Value
例外:
IndexOutOfBoundsException - index がこの配列の範囲外である場合、つまり次のどちらかが true である場合
index < 0
index >= length() 

getValues

List<Value> getValues()
この配列内のすべての要素を返します。

戻り値:
Value オブジェクトのリスト。配列インデックスにより指定された配列要素の各々に対して 1 つのオブジェクト。長さがゼロの配列の場合、空のリストが返される。

getValues

List<Value> getValues(int index,
                      int length)
配列コンポーネントの範囲を返します。

パラメータ:
index - 取得する最初の要素のインデックス
length - 取得する要素の数。配列の最後までのすべての要素を取得する場合は -1。
戻り値:
Value オブジェクトのリスト。配列インデックスにより要求された指定の配列要素の各々に対して 1 つのオブジェクト。指定された範囲に要素が存在しない場合 (length がゼロの場合など)、空のリストが返される
例外:
IndexOutOfBoundsException - indexlength で指定された範囲が配列の範囲内に収まっていない場合、つまり次のどちらかが true である場合
index < 0
index > length() 
または、length != -1 で、次のどちらかが true の場合
length < 0
index + length >  length()

setValue

void setValue(int index,
              Value value)
              throws InvalidTypeException,
                     ClassNotLoadedException
配列要素を別の値に置き換えます。

オブジェクト値は、この配列要素の型への代入互換性を持たなければいけません (これは、この要素型は、宣言クラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、この要素型への代入互換性を持たなければいけません。 つまり、情報を失わずにこの要素型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。

パラメータ:
value - 新しい値
index - 設定する要素のインデックス
例外:
IndexOutOfBoundsException - index がこの配列の範囲外である場合、つまり次のどちらかが true である場合
index < 0
index >= length() 
InvalidTypeException - value の型と宣言された配列要素型に互換性がない場合
ClassNotLoadedException - 配列要素型が適切なクラスローダーによってロードされていない場合
VMCannotBeModifiedException - VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified() を参照)。
関連項目:
ArrayType.componentType()

setValues

void setValues(List<? extends Value> values)
               throws InvalidTypeException,
                      ClassNotLoadedException
すべての配列要素を別の値に置き換えます。与えられたリストのサイズが配列よりも大きい場合は、リストの後ろの値は無視されます。

オブジェクト値は、この配列要素の型への代入互換性を持たなければいけません (これは、この要素型は、囲むクラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、この要素型への代入互換性を持たなければいけません。 つまり、情報を失わずにこの要素型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。

パラメータ:
values - この配列内に配置される Value オブジェクトのリスト。values.size() の値が配列の長さよりも大きかった場合、先頭から values.size() 個の要素が設定される。
例外:
InvalidTypeException - 新しい value のどれかが、宣言された配列要素型との互換性を持たない場合。
ClassNotLoadedException - 配列要素型が適切なクラスローダーによってロードされていない場合
VMCannotBeModifiedException - VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified() を参照)。
関連項目:
ArrayType.componentType()

setValues

void setValues(int index,
               List<? extends Value> values,
               int srcIndex,
               int length)
               throws InvalidTypeException,
                      ClassNotLoadedException
配列要素のある範囲を別の値に置き換えます。

オブジェクト値は、この配列要素の型への代入互換性を持たなければいけません (これは、この要素型は、囲むクラスのクラスローダーによってロードする必要があることを意味する)。プリミティブ値は、この要素型への代入互換性を持たなければいけません。 つまり、情報を失わずにこの要素型に変換できる必要があります。代入互換性の詳細は、「Java 言語仕様」のセクション 5.2 を参照してください。

パラメータ:
index - 設定する最初の要素のインデックス。
values - この配列内に配置される Value オブジェクトのリスト。
srcIndex - 使用する最初のソース値のインデックス。
length - 設定する要素の数。この配列または values の最後までの要素を設定する場合は -1。
例外:
InvalidTypeException - values のどれかが、宣言された配列要素型との互換性を持たない場合。
IndexOutOfBoundsException - indexlength で指定された配列範囲が配列のサイズに収まっていない場合、あるいは srcIndexlength で指定されるソース範囲が values のサイズに収まっていない場合、つまり次のいずれかが true である場合
index < 0
index > length()
srcIndex < 0
srcIndex > values.size() 
または、length != -1 で、次のいずれかが true である場合
length < 0
index + length > length()
srcIndex + length > values.size() 
VMCannotBeModifiedException - VirtualMachine が読み取り専用の場合 (VirtualMachine.canBeModified() を参照)。
ClassNotLoadedException
関連項目:
ArrayType.componentType()

Java Debug Interface