package mage.interfaces;
import mage.MageException;
/**
* Light weight action interface.
* For executing actions without any context.
*
* @param <T> Type to return as a result of execution.
*
* @author noxx
*/
public interface ActionWithResult<T> {
/**
* Executes and returns result.
* @return
*/
T execute() throws MageException;
/**
* Defines negative result specific for type <T>.
* @return
*/
T negativeResult();
}