/* This file is part of Reactive Cascade which is released under The MIT License. See license.md , https://github.com/futurice/cascade and http://reactivecascade.com for details. This is open source for the common good. Please contribute improvements by pull request or contact paulirotta@gmail.com */ package com.reactivecascade.i; /** * A lambda-friendly continuation mOnFireAction which may be run in the future or on a different thread * similar to {@link java.lang.Runnable}. The differences is that an explicit <code>Exception</code> * may be thrown which helps facilitate asynchronous exception handling in a lambda-friendly manner. */ public interface IAction<PHANTOM_OUT> extends IBaseAction<PHANTOM_OUT> { /** * Execute the action * <p> * If parameters need to be passed in, see for example {@link IActionOne} * * @throws Exception to transition to {@link com.reactivecascade.i.IAltFuture.StateError} * @throws java.util.concurrent.CancellationException to {@link com.reactivecascade.i.IAltFuture.StateCancelled} */ void call() throws Exception; }