package org.marketcetera.marketdata.core.module; import org.apache.commons.lang.StringUtils; import org.marketcetera.module.Module; import org.marketcetera.module.ModuleCreationException; import org.marketcetera.module.ModuleFactory; import org.marketcetera.module.ModuleURN; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Creates {@link ReceiverModule} modules. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: ReceiverModuleFactory.java 16901 2014-05-11 16:14:11Z colin $ * @since 2.4.0 */ @ClassVersion("$Id: ReceiverModuleFactory.java 16901 2014-05-11 16:14:11Z colin $") public class ReceiverModuleFactory extends ModuleFactory { /* (non-Javadoc) * @see org.marketcetera.module.ModuleFactory#create(java.lang.Object[]) */ @Override public Module create(Object... inParameters) throws ModuleCreationException { if(inParameters == null || inParameters.length != 1) { throw new ModuleCreationException(Messages.INCORRECT_PARAMETER_COUNT); } // parameter 1 is the URN instance name of the receiver Object parameter = inParameters[0]; if(parameter == null || !(parameter instanceof String)) { throw new ModuleCreationException(Messages.INCORRECT_PARAMETER_COUNT); } String instanceName = StringUtils.trimToNull((String)parameter); if(instanceName == null) { throw new ModuleCreationException(Messages.INCORRECT_PARAMETER_COUNT); } return new ReceiverModule(instanceName); } /** * Create a new ReceiverModuleFactory instance. */ public ReceiverModuleFactory() { super(PROVIDER_URN, Messages.PROVIDER_DESCRIPTION, true, false, String.class); } /** * human-readable identifier used as the provider name */ public static final String IDENTIFIER = "receiver"; //$NON-NLS-1$ /** * unique provider URN for the receiver module */ public static final ModuleURN PROVIDER_URN = new ModuleURN("metc:misc:" + IDENTIFIER); //$NON-NLS-1$ }