org.eclipse.debug.core.model

## 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

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

### Method Detail

#### 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