Copyright (c) 2000, 2005 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2005 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.debug.core.model; import org.eclipse.debug.core.DebugException;
Provides the ability to suspend and resume a thread or debug target.

Clients may implement this interface.

/** * Provides the ability to suspend and resume a thread * or debug target. * <p> * Clients may implement this interface. * </p> */
public interface ISuspendResume {
Returns whether this element can currently be resumed.
Returns:whether this element can currently be resumed
/** * Returns whether this element can currently be resumed. * * @return whether this element can currently be resumed */
boolean canResume();
Returns whether this element can currently be suspended.
Returns:whether this element can currently be suspended
/** * Returns whether this element can currently be suspended. * * @return whether this element can currently be suspended */
boolean canSuspend();
Returns whether this element is currently suspended.
Returns:whether this element is currently suspended
/** * Returns whether this element is currently suspended. * * @return whether this element is currently suspended */
boolean isSuspended();
Causes this element to resume its execution, generating a RESUME event. Has no effect on an element that is not suspended. This call is non-blocking.
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
/** * Causes this element to resume its execution, generating a <code>RESUME</code> event. * Has no effect on an element that is not suspended. This call is non-blocking. * * @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> */
void resume() throws DebugException;
Causes this element to suspend its execution, generating a SUSPEND event. Has no effect on an already suspended element. Implementations may be blocking or non-blocking.
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
/** * Causes this element to suspend its execution, generating a <code>SUSPEND</code> event. * Has no effect on an already suspended element. * Implementations may be blocking or non-blocking. * * @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> */
void suspend() throws DebugException; }