/* * Copyright 2001-2008 Geert Bevin (gbevin[remove] at uwyn dot com) * Licensed under the Apache License, Version 2.0 (the "License") * $Id: ContinuableObject.java 3918 2008-04-14 17:35:35Z gbevin $ */ package com.uwyn.rife.continuations; /** * Interface that needs to be implemented by classes that should support * continuations functionalities and become resumable. * * @author Geert Bevin (gbevin[remove] at uwyn dot com) * @version $Revision: 3918 $ * @since 1.6 */ public interface ContinuableObject extends Cloneable { /** * When continuations are resumed, they are by default cloned to ensure * that their state is properly isolated. Implementing this method * allows for full customization of the cloning behavior. * * @see ContinuationConfigRuntime#cloneContinuations * @return the cloned instance of this continuable object * @throws CloneNotSupportedException */ public Object clone() throws CloneNotSupportedException; }