package org.marketcetera.modules.cep.esper; import org.marketcetera.util.misc.ClassVersion; import org.marketcetera.module.ModuleFactory; import org.marketcetera.module.ModuleCreationException; import org.marketcetera.module.ModuleURN; /* $License$ */ /** * Provider that will process incoming data via an Esper Engine. * The provider will support multiple module instances. Each instance * has its own separate Esper runtime. * * The instances are auto-created when they are referred to in a data flow * request and they are auto-started. * <p> * The factory has the following characteristics. * <table> * <tr><th>Provider URN:</th><td><code>metc:cep:esper</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}: module instance URN</td></tr> * <tr><th>Module Type:</th><td>{@link CEPEsperProcessor}</td></tr> * </table> * * @see CEPEsperProcessor * @author anshul@marketcetera.com * @author toli@marketcetera.com * @since 1.0.0 * @version $Id: CEPEsperFactory.java 16154 2012-07-14 16:34:05Z colin $ */ @ClassVersion("$Id: CEPEsperFactory.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$ public final class CEPEsperFactory extends ModuleFactory { /** * Creates an instance. * */ public CEPEsperFactory() { super(PROVIDER_URN, Messages.PROVIDER_DESCRIPTION, true, true, ModuleURN.class); } @Override public CEPEsperProcessor create(Object... inParameters) throws ModuleCreationException { return new CEPEsperProcessor((ModuleURN)inParameters[0]); } /** * The Provider URN. */ public static final ModuleURN PROVIDER_URN = new ModuleURN("metc:cep:esper"); //$NON-NLS-1$ }