package org.marketcetera.strategy; import org.marketcetera.core.ClassVersion; /* $License$ */ /** * {@link Executor} implementation for Java strategies. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: JavaExecutor.java 16667 2013-08-27 19:28:48Z colin $ * @since 1.0.0 */ @ClassVersion("$Id: JavaExecutor.java 16667 2013-08-27 19:28:48Z colin $") class JavaExecutor extends AbstractExecutor { /** * Create a new JavaExecutor instance. * * @param inStrategy a <code>Strategy</code> value */ JavaExecutor(Strategy inStrategy) { super(inStrategy); } /* (non-Javadoc) * @see org.marketcetera.strategy.AbstractExecutor#preprocess(java.lang.String) */ @Override protected String preprocess(String inScript) throws StrategyException { return inScript; } /* (non-Javadoc) * @see org.marketcetera.strategy.AbstractExecutor#getExecutionEngine() */ @Override protected ExecutionEngine getExecutionEngine() throws StrategyException { // need to decide whether to use JavaCompilerExecutionEngine or JavaClasspathExecutionEngine if(getStrategy().getScript() == null) { return new JavaClasspathExecutionEngine(); } else { return new JavaCompilerExecutionEngine(); } } /* (non-Javadoc) * @see org.marketcetera.strategy.Executor#interpretRuntimeException(java.lang.Exception) */ @Override public String interpretRuntimeException(Exception inE) { return inE.toString(); } /* (non-Javadoc) * @see org.marketcetera.strategy.Executor#translateMethodName(java.lang.String) */ @Override public String translateMethodName(String inMethodName) { return inMethodName; } }