01: /*
02: * Copyright 2001-2007 Geert Bevin <gbevin[remove] at uwyn dot com>
03: * Distributed under the terms of either:
04: * - the common development and distribution license (CDDL), v1.0; or
05: * - the GNU Lesser General Public License, v2.1 or later
06: * $Id: ContinuableObject.java 3805 2007-06-23 20:18:19Z gbevin $
07: */
08: package com.uwyn.rife.continuations;
09:
10: /**
11: * Interface that needs to be implemented by classes that should support
12: * continuations functionalities and become resumable.
13: *
14: * @author Geert Bevin (gbevin[remove] at uwyn dot com)
15: * @version $Revision: 3805 $
16: * @since 1.6
17: */
18: public interface ContinuableObject extends Cloneable {
19: /**
20: * When continuations are resumed, they are by default cloned to ensure
21: * that their state is properly isolated. Implementing this method
22: * allows for full customization of the cloning behavior.
23: *
24: * @see ContinuationConfigRuntime#cloneContinuations
25: * @return the cloned instance of this continuable object
26: * @throws CloneNotSupportedException
27: */
28: public Object clone() throws CloneNotSupportedException;
29: }
|