package org.eclipse.debug.core.model; | |
/* | |
* (c) Copyright IBM Corp. 2000, 2001. | |
* All Rights Reserved. | |
*/ | |
import org.eclipse.debug.core.DebugException; | |
/** | |
* Provides the ability to modify the value of a variable in | |
* a target. | |
* <p> | |
* Clients may implement this interface. | |
* </p> | |
* @see IVariable | |
*/ | |
public interface IValueModification { | |
/** | |
* Attempts to set the value of this variable to the | |
* value of the given expression. | |
* | |
* @param expression an expression to generate a new value | |
* @exception DebugException on failure. Reasons include:<ul> | |
* <li>TARGET_REQUEST_FAILED - The request failed in the target | |
* <li>NOT_SUPPORTED - The capability is not supported by the target | |
* </ul> | |
*/ | |
public void setValue(String expression) throws DebugException; | |
/** | |
* Sets the value of this variable to the given value. | |
* | |
* @param value a new value | |
* @exception DebugException on failure. Reasons include:<ul> | |
* <li>TARGET_REQUEST_FAILED - The request failed in the target | |
* <li>NOT_SUPPORTED - The capability is not supported by the target | |
* </ul> | |
* @since 2.0 | |
*/ | |
public void setValue(IValue value) throws DebugException; | |
/** | |
* Returns whether this variable supports value modification. | |
* | |
* @return whether this variable supports value modification | |
*/ | |
public boolean supportsValueModification(); | |
/** | |
* Returns whether the given expression is valid to be used in | |
* setting a new value for this variable. | |
* | |
* @param expression an expression to generate a new value | |
* @return whether the expression is valid | |
* @exception DebugException on failure. Reasons include:<ul> | |
* <li>TARGET_REQUEST_FAILED - The request failed in the target | |
* <li>NOT_SUPPORTED - The capability is not supported by the target | |
* </ul> | |
*/ | |
public boolean verifyValue(String expression) throws DebugException; | |
/** | |
* Returns whether the given value can be used as | |
* a new value for this variable. | |
* | |
* @param value a new value | |
* @return whether the value is valid | |
* @exception DebugException on failure. Reasons include:<ul> | |
* <li>TARGET_REQUEST_FAILED - The request failed in the target | |
* <li>NOT_SUPPORTED - The capability is not supported by the target | |
* </ul> | |
* @since 2.0 | |
*/ | |
public boolean verifyValue(IValue value) throws DebugException; | |
} | |