/* | 
|
 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. | 
|
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 
|
 * | 
|
 * This code is free software; you can redistribute it and/or modify it | 
|
 * under the terms of the GNU General Public License version 2 only, as | 
|
 * published by the Free Software Foundation.  Oracle designates this | 
|
 * particular file as subject to the "Classpath" exception as provided | 
|
 * by Oracle in the LICENSE file that accompanied this code. | 
|
 * | 
|
 * This code is distributed in the hope that it will be useful, but WITHOUT | 
|
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | 
|
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License | 
|
 * version 2 for more details (a copy is included in the LICENSE file that | 
|
 * accompanied this code). | 
|
 * | 
|
 * You should have received a copy of the GNU General Public License version | 
|
 * 2 along with this work; if not, write to the Free Software Foundation, | 
|
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. | 
|
 * | 
|
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA | 
|
 * or visit www.oracle.com if you need additional information or have any | 
|
 * questions. | 
|
*/  | 
|
package com.sun.jdi.event;  | 
|
import com.sun.jdi.*;  | 
|
/** | 
|
 * Notification of target VM termination. | 
|
 * This event occurs if the target VM terminates before the | 
|
 * VM disconnects ({@link VMDisconnectEvent}). | 
|
 * Thus, this event will NOT occur if | 
|
 * external forces terminate the connection (e.g. a crash) | 
|
 * or if the connection is intentionally terminated with | 
|
 * {@link com.sun.jdi.VirtualMachine#dispose() | 
|
 *      VirtualMachine.dispose()} | 
|
 * <P> | 
|
 * On VM termination, a single unsolicited VMDeathEvent | 
|
 * will always be sent with a | 
|
 * {@link com.sun.jdi.request.EventRequest#suspendPolicy() suspend policy} | 
|
 * of {@link com.sun.jdi.request.EventRequest#SUSPEND_NONE SUSPEND_NONE}. | 
|
 * Additional VMDeathEvents will be sent in the same event set if they are | 
|
 * requested with a | 
|
 * {@link com.sun.jdi.request.VMDeathRequest VMDeathRequest}. | 
|
 * <P> | 
|
 * The VM is still intact and can be queried at the point this | 
|
 * event was initiated but immediately thereafter it is not | 
|
 * considered intact and cannot be queried. | 
|
 * Note: If the enclosing {@link EventSet} has a | 
|
 * {@link com.sun.jdi.request.EventRequest#suspendPolicy() suspend policy} | 
|
 * other than | 
|
 * {@link com.sun.jdi.request.EventRequest#SUSPEND_ALL SUSPEND_ALL} | 
|
 * the initiating point may be long past. | 
|
 * <P> | 
|
 * All VMDeathEvents will be in a single {@link EventSet}, | 
|
 * no other events will be in the event set.  A resume | 
|
 * must occur to continue execution after any event set which | 
|
 * performs suspensions - in this case to allow proper shutdown. | 
|
 * | 
|
 * @see VMDisconnectEvent | 
|
 * @see com.sun.jdi.request.EventRequestManager#createVMDeathRequest | 
|
 * @see com.sun.jdi.request.VMDeathRequest | 
|
 * @see EventQueue | 
|
 * @see VirtualMachine | 
|
 * | 
|
 * @author Robert Field | 
|
 * @since  1.3 | 
|
*/  | 
|
@jdk.Exported  | 
|
public interface VMDeathEvent extends Event {  | 
|
}  |