package org.marketcetera.modules.async;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.module.ModuleFactory;
import org.marketcetera.module.ModuleCreationException;
import org.marketcetera.module.ModuleURN;
/* $License$ */
/**
* Provider that instantiates modules that emit received data in a thread that
* is different from the thread on which the data is received..
* <p>
* The factory has the following characteristics.
* <table>
* <tr><th>Provider URN:</th><td><code>metc:async:simple</code></td></tr>
* <tr><th>Cardinality:</th><td>Multi-Instance</td></tr>
* <tr><th>Auto-Instantiated:</th><td>Yes</td></tr>
* <tr><th>Auto-Started:</th><td>Yes</td></tr>
* <tr><th>Instantiation Arguments:</th><td>{@link ModuleURN}</td></tr>
* <tr><th>Module Type</th><td>{@link SimpleAsyncProcessor}</td></tr>
* </table>
*
* @see SimpleAsyncProcessor
* @author anshul@marketcetera.com
* @version $Id: SimpleAsyncProcessorFactory.java 16154 2012-07-14 16:34:05Z colin $
* @since 2.0.0
*/
@ClassVersion("$Id: SimpleAsyncProcessorFactory.java 16154 2012-07-14 16:34:05Z colin $")
public final class SimpleAsyncProcessorFactory extends ModuleFactory {
/**
* Creates an instance.
*
*/
public SimpleAsyncProcessorFactory() {
super(PROVIDER_URN, Messages.PROVIDER_DESCRIPTION, true, true,
ModuleURN.class);
}
@Override
public SimpleAsyncProcessor create(Object... inParameters)
throws ModuleCreationException {
return new SimpleAsyncProcessor((ModuleURN)inParameters[0]);
}
/**
* The Provider URN.
*/
public static final ModuleURN PROVIDER_URN =
new ModuleURN("metc:async:simple"); //$NON-NLS-1$
}