package org.marketcetera.marketdata; import java.util.Set; import javax.management.MXBean; import org.marketcetera.core.ClassVersion; import org.marketcetera.module.DisplayName; /* $License$ */ /** * <code>MXBean</code> interface for an {@link AbstractMarketDataModule} enumerating the <code>MXBean</code> * methods available. * * @author <a href="mailto:colin@marketcetera.com">Colin DuPlantis</a> * @version $Id: AbstractMarketDataModuleMXBean.java 16154 2012-07-14 16:34:05Z colin $ * @since 1.0.0 */ @ClassVersion("$Id: AbstractMarketDataModuleMXBean.java 16154 2012-07-14 16:34:05Z colin $") //$NON-NLS-1$ @MXBean(true) @DisplayName("Management Interface for Marketdata Feeds") public interface AbstractMarketDataModuleMXBean { /** * Returns the status of the underlying feed. * * @return a <code>String</code> value */ @DisplayName("The feed status for the market data feed") public String getFeedStatus(); /** * Reconnects to the feed and resubmits all active queries. * * <p>Regardless of the state of the feed, all existing queries will be canceled * and resubmitted. * * @throws IllegalArgumentException if the credentials to connect to the feed have not been specified properly * @throws UnsupportedOperationException if the feed does not support this behavior */ @DisplayName("Causes the feed to resubmit existing queries") public void reconnect(); /** * Gets the set of capabilities for this market data feed. * * @return a <code>Set<Capability></code> value */ @DisplayName("The set of capabilities for this feed") public Set<Capability> getCapabilities(); /** * Gets the set of supported asset classes for this market data feed. * * @return a <code>Set<AssetClass></code> value */ @DisplayName("The set of supported asset classes for this feed") public Set<AssetClass> getAssetClasses(); }