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 getValues()
          この配列内のすべての要素を返します。
 List getValues(int index, int length)
          配列要素の範囲を返します。
 int length()
          この配列の要素の数を返します。
 void setValue(int index, Value value)
          配列要素を別の値に置き換えます。
 void setValues(int index, List values, int srcIndex, int length)
          配列要素のある範囲を別の値に置き換えます。
 void setValues(List 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

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

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

getValue

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

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

getValues

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

戻り値:
各配列要素が配列インデックス順に格納された、Value オブジェクトのリスト。長さがゼロの配列の場合、空のリストが返される

getValues

public List 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

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

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

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

setValues

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

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

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

setValues

public void setValues(int index,
                      List 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() 
ClassNotLoadedException
関連項目:
ArrayType.componentType()

Java Debug Interface