# Interface IValueModification

All Known Subinterfaces:
  `IRegister, IVariable`

public interface IValueModification
Provides the ability to modify the value of a variable in a target.

Clients may implement this interface.

See Also:
  - `IVariable`

## Method Summary

Modifier and Type
Method
Description
`void`
`setValue(String expression)`
Attempts to set the value of this variable to the value of the given expression.
`void`
`setValue(IValue value)`
Sets the value of this variable to the given value.
`boolean`
`supportsValueModification()`
Returns whether this variable supports value modification.
`boolean`
`verifyValue(String expression)`
Returns whether the given expression is valid to be used in setting a new value for this variable.
`boolean`
`verifyValue(IValue value)`
Returns whether the given value can be used as a new value for this variable.

## Method Details

### setValue

void setValue(String expression) throws DebugException
Attempts to set the value of this variable to the value of the given expression.

Parameters:
  `expression` - an expression to generate a new value
Throws:
  `DebugException` - on failure. Reasons include:
  - TARGET_REQUEST_FAILED - The request failed in the target
  - NOT_SUPPORTED - The capability is not supported by the target

### setValue

void setValue(IValue value) throws DebugException
Sets the value of this variable to the given value.

Parameters:
  `value` - a new value
Throws:
  `DebugException` - on failure. Reasons include:
  - TARGET_REQUEST_FAILED - The request failed in the target
  - NOT_SUPPORTED - The capability is not supported by the target
Since:
  2.0

### supportsValueModification

boolean supportsValueModification()
Returns whether this variable supports value modification.

Returns:
  whether this variable supports value modification

### verifyValue

boolean verifyValue(String expression) throws DebugException
Returns whether the given expression is valid to be used in setting a new value for this variable.

Parameters:
  `expression` - an expression to generate a new value
Returns:
  whether the expression is valid
Throws:
  `DebugException` - on failure. Reasons include:
  - TARGET_REQUEST_FAILED - The request failed in the target
  - NOT_SUPPORTED - The capability is not supported by the target

### verifyValue

boolean verifyValue(IValue value) throws DebugException
Returns whether the given value can be used as a new value for this variable.

Parameters:
  `value` - a new value
Returns:
  whether the value is valid
Throws:
  `DebugException` - on failure. Reasons include:
  - TARGET_REQUEST_FAILED - The request failed in the target
  - NOT_SUPPORTED - The capability is not supported by the target
Since:
  2.0