package org.marketcetera.marketdata; import org.marketcetera.core.CoreException; import org.marketcetera.util.misc.ClassVersion; /** * Translates between the specified external data type <code>T</code> and {@link MarketDataRequest} format. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: DataRequestTranslator.java 16841 2014-02-20 19:59:04Z colin $ * @since 0.5.0 */ @ClassVersion("$Id: DataRequestTranslator.java 16841 2014-02-20 19:59:04Z colin $") //$NON-NLS-1$ public interface DataRequestTranslator<T> { /** * Translate from a <code>DataRequest</code> to an external data format. * * @param inRequest a <code>MarketDataRequest</code> value * @return a <code>T</code> value * @throws IllegalArgumentException if the message type is not handled by the translator * @throws CoreException if an error occurs during otherwise valid message translation */ public T fromDataRequest(MarketDataRequest inRequest) throws CoreException; }