package org.marketcetera.strategy; import org.marketcetera.core.ClassVersion; /* $License$ */ /** * Executes a strategy. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: Executor.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.0.0 */ @ClassVersion("$Id: Executor.java 16154 2012-07-14 16:34:05Z colin $") interface Executor { /** * Starts execution of the {@link Strategy}. * * @return a <code>RunningStrategy</code> value * @throws Exception if an error occurs */ RunningStrategy start() throws Exception; /** * Stops execution of a {@link Strategy}. * * @throws Exception if an error occurs */ void stop() throws Exception; /** * Returns an interpretation of the given exception. * * @param inE an <code>Exception</code> value * @return a <code>String</code> value containing a description of the exception */ String interpretRuntimeException(Exception inE); /** * Returns the name of the method rendered for the appropriate language. * * @param inMethodName a <code>String</code> value * @return a <code>String</code> value */ String translateMethodName(String inMethodName); }