Package org.eclipse.jdt.debug.core

## Interface IJavaArray

All Superinterfaces:
  `IAdaptable`, `IDebugElement`, `IIndexedValue`, `IJavaObject`, `IJavaValue`, `IValue`

    public interface IJavaArray
    extends IJavaObject, IIndexedValue

A value referencing an array on a target VM.

Since:
  2.0
See Also:
  `IJavaValue`
Restriction:
  This interface is not intended to be implemented by clients.
Restriction:
  This interface is not intended to be extended by clients.

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `getLength()` Returns the length of this array.
`IJavaValue` `getValue​(int index)` Returns the value at the given index in this array.
`IJavaValue[]` `getValues()` Returns the values contained in this array.
`void` `setValue​(int index, IJavaValue value)` Sets the value at the given index to the specified value.
`void` `setValues​(int offset, int length, IJavaValue[] values, int startOffset)` Replaces a range of values in this array.
`void` `setValues​(IJavaValue[] values)` Replaces values in this array.

### Methods inherited from interface org.eclipse.core.runtime.IAdaptable

`getAdapter`

### Methods inherited from interface org.eclipse.debug.core.model.IDebugElement

`getDebugTarget, getLaunch, getModelIdentifier`

### Methods inherited from interface org.eclipse.debug.core.model.IIndexedValue

`getInitialOffset, getSize, getVariable, getVariables`

### Methods inherited from interface org.eclipse.jdt.debug.core.IJavaObject

`disableCollection, enableCollection, getField, getField, getOwningThread, getReferringObjects, getUniqueId, getWaitingThreads, sendMessage, sendMessage`

### Methods inherited from interface org.eclipse.jdt.debug.core.IJavaValue

`getGenericSignature, getJavaType, getSignature, isNull`

### Methods inherited from interface org.eclipse.debug.core.model.IValue

`getReferenceTypeName, getValueString, getVariables, hasVariables, isAllocated`

### Method Detail

#### getValues

    IJavaValue[] getValues()
                    throws DebugException

Returns the values contained in this array.

Returns:
  the values contained in this array
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.

#### getValue

    IJavaValue getValue​(int index)
                 throws DebugException

Returns the value at the given index in this array.

Parameters:
  `index` - the index of the value to return
Returns:
  the value at the given index
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  `IndexOutOfBoundsException` - if the index is not within the bounds of this array.

#### getLength

    int getLength()
           throws DebugException

Returns the length of this array.

Returns:
  the length of this array
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  </ul</dd>

#### setValue

    void setValue​(int index,
                  IJavaValue value)
           throws DebugException

Sets the value at the given index to the specified value.

Parameters:
  `index` - the index at which to assign a new value
  `value` - the new value
Throws:
  `DebugException` - if this method fails. Reasons include:
  - Failure communicating with the VM. The DebugException's status code contains the underlying exception responsible for the failure.
  - The given value is not compatible with the type of this array
  `IndexOutOfBoundsException` - if the index is not within the bounds of this array.

#### setValues

    void setValues​(IJavaValue[] values)
            throws DebugException

Replaces values in this array. If the given replacement values length is less that the length of this array, only the number of values in the given array are replaced. If the given replacement values length is longer than the length of this array, values in positions greater than the length of this array are ignored.

Parameters:
  `values` - replacement values
Throws:
  `DebugException` - if an exception occurs replacing values
Since:
  3.4

#### setValues

    void setValues​(int offset,
                   int length,
                   IJavaValue[] values,
                   int startOffset)
            throws DebugException

Replaces a range of values in this array.

Parameters:
  `offset` - offset in this array to start replacing values at
  `length` - the number of values to replace in this array
  `values` - replacement values
  `startOffset` - the first offset where values are copied from the given replacement values
Throws:
  `DebugException` - if an exception occurs replacing values or if the given offsets and length are not within the range of this array or the replacement values
Since:
  3.4