package org.marketcetera.modules.remote.emitter;
import org.marketcetera.util.misc.ClassVersion;
import org.marketcetera.module.ModuleFactory;
import org.marketcetera.module.Module;
import org.marketcetera.module.ModuleCreationException;
import org.marketcetera.module.ModuleURN;
/* $License$ */
/**
* Factory for the remote {@link EmitterModule}. The remote emitter module
* receives data from a remote
* {@link org.marketcetera.modules.remote.receiver.ReceiverModule} and
* emits it into local data flows.
* <p>
* The factory has the following characteristics.
* <table>
* <tr><th>Provider URN:</th><td><code>metc:remote:emitter</code></td></tr>
* <tr><th>Cardinality:</th><td>Multi-Instance</td></tr>
* <tr><th>Auto-Instantiated:</th><td>No</td></tr>
* <tr><th>Auto-Started:</th><td>Yes</td></tr>
* <tr><th>Instantiation Arguments:</th><td>{@link String}: module instance name</td></tr>
* </table>
* <p>
* The URN of the created module instance has the provider URN as the prefix
* and the supplied module instance name as the URN instance name.
*
* @author anshul@marketcetera.com
* @version $Id: EmitterFactory.java 16154 2012-07-14 16:34:05Z colin $
* @since 1.5.0
*/
@ClassVersion("$Id: EmitterFactory.java 16154 2012-07-14 16:34:05Z colin $")
public class EmitterFactory extends ModuleFactory {
/**
* Creates an instance.
*/
public EmitterFactory() {
super(PROVIDER_URN, Messages.PROVIDER_DESCRIPTION,
true, false, String.class);
}
@Override
public Module create(Object... inParameters)
throws ModuleCreationException {
return new EmitterModule(new ModuleURN(PROVIDER_URN,
(String)inParameters[0]));
}
/**
* The provider URN for this module provider.
*/
public static final ModuleURN PROVIDER_URN =
new ModuleURN("metc:remote:emitter"); //$NON-NLS-1$
}