package org.marketcetera.photon.marketdata; import java.util.Set; import org.marketcetera.marketdata.Capability; import org.marketcetera.marketdata.FeedStatus; import org.marketcetera.module.ModuleURN; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Abstraction of a market data feed. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: IMarketDataFeed.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.5.0 */ @ClassVersion("$Id: IMarketDataFeed.java 16154 2012-07-14 16:34:05Z colin $") public interface IMarketDataFeed { /** * Returns the singleton instance URN for the feed provider. * * @return the singleton instance URN */ ModuleURN getURN(); /** * Returns the feed's capabilities. The value returned reflects the capabilities reported by * feed at the time the method is called. Some feed's capabilities may change after login. * * @return the feed capabilities */ Set<Capability> getCapabilities(); /** * Returns a human readable name for the feed. * * @return human readable name for the feed */ String getName(); /** * Returns the feed's unique identifier, which is the {@link ModuleURN} of the feed's module * provider. * <p> * This is the value that should be saved to the * {@link MarketDataConstants#DEFAULT_ACTIVE_MARKETDATA_PROVIDER} preference if this feed is * desired to be the default active feed. * * @return unique identifier for the feed */ String getId(); /** * Returns the feed status. * * @return the feed status */ FeedStatus getStatus(); }