Overview | Package | Class | Use | Tree | Index | Help
| Java Debug Interface
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.sun.jdi
Interface ArrayReference

All Superinterfaces:
  Mirror, ObjectReference, Value

public interface ArrayReference
extends ObjectReference

Provides access to an array object and its components in the target VM. Each array component is mirrored by a `Value` object. The array components, in aggregate, are placed in `List` objects instead of arrays for consistency with the rest of the API and for interoperability with other APIs.

Since:
  1.3

Fields inherited from interface com.sun.jdi.ObjectReference
`INVOKE_NONVIRTUAL, INVOKE_SINGLE_THREADED`

Method Summary
`Value` | `getValue(int index)` Returns an array component value.
`List` | `getValues()` Returns all of the components in this array.
`List` | `getValues(int index, int length)` Returns a range of array components.
`int` | `length()` Returns the number of components in this array.
`void` | `setValue(int index, Value value)` Replaces an array component with another value.
`void` | `setValues(int index, List values, int srcIndex, int length)` Replaces a range of array components with other values.
`void` | `setValues(List values)` Replaces all array components with other values.

Methods inherited from interface com.sun.jdi.ObjectReference
`disableCollection, enableCollection, entryCount, equals, getValue, getValues, hashCode, invokeMethod, isCollected, owningThread, referenceType, setValue, uniqueID, waitingThreads`

Methods inherited from interface com.sun.jdi.Value
`type`

Methods inherited from interface com.sun.jdi.Mirror
`toString, virtualMachine`

Method Detail

### length

    public int length()

  Returns the number of components in this array.
  Returns:
    the integer count of components in this array.
  Throws:
    `ObjectCollectedException` - if this object has been garbage collected.

### getValue

    public Value getValue(int index)

  Returns an array component value.
  Parameters:
    `index` - the index of the component to retrieve
  Returns:
    the `Value` at the given index.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if the index is beyond the end of this array.
    `ObjectCollectedException` - if this object has been garbage collected.

### getValues

    public List getValues()

  Returns all of the components in this array.
  Returns:
    a list of `Value` objects, one for each array component ordered by array index.
  Throws:
    `ObjectCollectedException` - if this object has been garbage collected.

### getValues

    public List getValues(int index,
                          int length)

  Returns a range of array components.
  Parameters:
    `index` - the index of the first component to retrieve
    `length` - the number of components to retrieve, or -1 to retrieve all components to the end of this array.
  Returns:
    a list of `Value` objects, one for each requested array component ordered by array index.
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index + length` is an index beyond the end of this array.
    `ObjectCollectedException` - if this object has been garbage collected.

### setValue

    public void setValue(int index,
                         Value value)
                  throws InvalidTypeException,
                         ClassNotLoadedException

  Replaces an array component with another value.

  Object values must be assignment compatible with the component type (This implies that the component type must be loaded through the enclosing class's class loader). Primitive values must be either assignment compatible with the component type or must be convertible to the component type without loss of information. See JLS section 5.2 for more information on assignment compatibility.

  Parameters:
    `value` - the new value
    `index` - the index of the component to set
  Throws:
    `java.lang.IndexOutOfBoundsException` - if `index` is beyond the end of this array.
    `InvalidTypeException` - if the type `value` is not compatible with the declared type of array components.
    `ClassNotLoadedException` - if the array component type has not yet been loaded through the appropriate class loader.
    `ObjectCollectedException` - if this object or the new value has been garbage collected.
    `VMMismatchException` - if a `Mirror` argument and this object do not belong to the same `VirtualMachine`.

### setValues

    public void setValues(List values)
                   throws InvalidTypeException,
                          ClassNotLoadedException

  Replaces all array components with other values. If the given list is larger is size than the array, the values at the end of the list are ignored.

  Object values must be assignment compatible with the element type (This implies that the component type must be loaded through the enclosing class's class loader). Primitive values must be either assignment compatible with the component type or must be convertible to the component type without loss of information. See JLS section 5.2 for more information on assignment compatibility.

  Parameters:
    `values` - a list of `Value` objects to be placed in this array
  Throws:
    `InvalidTypeException` - if any of the `values` is not compatible with the declared type of array components.
    `java.lang.IndexOutOfBoundsException` - if the size of `values` is larger than the length of this array.
    `ClassNotLoadedException` - if the array component type has not yet been loaded through the appropriate class loader.
    `ObjectCollectedException` - if this object or any of the new values has been garbage collected.
    `VMMismatchException` - if a `Mirror` argument and this object do not belong to the same `VirtualMachine`.

### setValues

    public void setValues(int index,
                          List values,
                          int srcIndex,
                          int length)
                   throws InvalidTypeException,
                          ClassNotLoadedException

  Replaces a range of array components with other values.

  Object values must be assignment compatible with the component type (This implies that the component type must be loaded through the enclosing class's class loader). Primitive values must be either assignment compatible with the component type or must be convertible to the component type without loss of information. See JLS section 5.2 for more information on assignment compatibility.

  Parameters:
    `index` - the index of the first component to set.
    `values` - a list of `Value` objects to be placed in this array.
    `srcIndex` - the index of the first source value to to use.
    `length` - the number of components to set, or -1 to set all components to the end of this array.
  Throws:
    `InvalidTypeException` - if any element of `values` is not compatible with the declared type of array components.
    `java.lang.IndexOutOfBoundsException` - if `srcIndex + length` is beyond the end of this array or if `values` is smaller inside than the given range.
    `ObjectCollectedException` - if this object or any of the new values has been garbage collected.
    `VMMismatchException` - if a `Mirror` argument and this object do not belong to the same `VirtualMachine`.

Overview | Package | Class | Use | Tree | Index | Help
| Java Debug Interface
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD