1 /******************************************************************************* 2 * Copyright (c) 2000, 2005 IBM Corporation and others. 3 * All rights reserved. This program and the accompanying materials 4 * are made available under the terms of the Eclipse Public License v1.0 5 * which accompanies this distribution, and is available at 6 * http://www.eclipse.org/legal/epl-v10.html 7 * 8 * Contributors: 9 * IBM Corporation - initial API and implementation 10 *******************************************************************************/ 11 package org.eclipse.jdi.hcr; 12 13 14 import com.sun.jdi.ThreadReference; 15 16 /** 17 * Hot code replacement extension to <code>com.sun.jdi.request.EventRequestManager</code>. 18 */ 19 public interface EventRequestManager extends com.sun.jdi.Mirror { 20 /** 21 * Creates a new disabled {@link ReenterStepRequest}. 22 * The new event request is added to the list managed by this 23 * EventRequestManager. Use {@link EventRequest#enable()} to 24 * activate this event request. 25 * <p> 26 * The returned request will control stepping only in the specified 27 * <code>thread</code>; all other threads will be unaffected. 28 * <p> 29 * Only one pending reenter step request is allowed per thread. 30 * <p> 31 * Note that enabling such a request can throw an <code>OperationRefusedException</code> 32 * if the VM refused to perform this operation. 33 * This in recognition that the VM may be in an awkward state and unable to comply. 34 * For example, execution is suspended in a native method and the arguments would be 35 * unavailable on return . 36 * 37 * @param thread the thread in which to step 38 * @return the created {@link ReenterStepRequest} 39 * @throws DuplicateRequestException if there is already a pending 40 * step request for the specified thread. 41 * @throws ObjectCollectedException if the thread object has been 42 * garbage collected. 43 */ 44 public ReenterStepRequest createReenterStepRequest(ThreadReference thread); 45 } 46