1 /* 2 * ################################################################ 3 * 4 * ProActive: The Java(TM) library for Parallel, Distributed, 5 * Concurrent computing with Security and Mobility 6 * 7 * Copyright (C) 1997-2002 INRIA/University of Nice-Sophia Antipolis 8 * Contact: proactive-support@inria.fr 9 * 10 * This library is free software; you can redistribute it and/or 11 * modify it under the terms of the GNU Lesser General Public 12 * License as published by the Free Software Foundation; either 13 * version 2.1 of the License, or any later version. 14 * 15 * This library is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 18 * Lesser General Public License for more details. 19 * 20 * You should have received a copy of the GNU Lesser General Public 21 * License along with this library; if not, write to the Free Software 22 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 23 * USA 24 * 25 * Initial developer(s): The ProActive Team 26 * http://www.inria.fr/oasis/ProActive/contacts.html 27 * Contributor(s): 28 * 29 * ################################################################ 30 */ 31 package org.objectweb.proactive; 32 33 /** 34 * <P> 35 * EndActive is related to the finalization of an active object. 36 * The finalization of the activity is done only once when the object 37 * stops to be active and becomes unusable. 38 * In case of a migration, an active object stops its activity 39 * before restarting on a new VM automatically without finalization. 40 * </P><P> 41 * An object implementing this interface can be invoked to perform the 42 * finalization work after the activity is ended. The object being 43 * reified as an active object can implement this interface or an external 44 * class can also be used. 45 * </P> 46 * <P> 47 * It is generally the role of the body of the active object to perform the 48 * call on the object implementing this interface. 49 * </P> 50 * <P> 51 * It is hard to ensure that the <code>endActivity</code> method will indeed 52 * be invoked at the end of the activity. <code>Error<code>, <code>Exception<code>, 53 * customized activity that never ends or sudden death of the JVM can prevents 54 * this method to be called by the body of the active object. 55 * </P> 56 * 57 * @author ProActive Team 58 * @version 1.0, 2002/06 59 * @since ProActive 0.9.3 60 */ 61 public interface EndActive extends Active { 62 63 /** 64 * Finalized the active object after the activity has been stopped. 65 * @param <code>body</code> the body of the active object being finalized. 66 */ 67 public void endActivity(Body body); 68 69 } 70 71 72