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, 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 オブジェクトのリスト。長さがゼロの配列の場合、空のリストが返される

getValues

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

パラメータ:
index - 取得する最初の要素のインデックス
length - 取得する要素の数。配列の最後までのすべての要素を取得する場合は -1
戻り値:
指定された範囲の各配列要素が配列インデックス順に格納された、Value オブジェクトのリスト。指定された範囲に要素が存在しない場合 (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
配列要素を別の値に置き換えます。

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

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

setValues

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

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

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

setValues

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

オブジェクト値は、この配列要素の型への代入互換性を持たなければなりません (これは、この要素型は、囲むクラスのクラスローダによってロードする必要があることを意味する)。プリミティブ値は、この要素型への代入互換性を持たなければなりません。つまり、情報を失わずにこの要素型に変換できる必要があります。代入互換性の詳細は、JLS のセクション 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.canBeModified() を参照
ClassNotLoadedException
関連項目:
ArrayType.componentType()

Java Debug Interface