package org.marketcetera.core.instruments; import org.marketcetera.trade.Instrument; import org.marketcetera.util.misc.ClassVersion; /* $License$ */ /** * Interface for providers of underlying symbol for an instrument. The * underlying symbol is a loosely defined piece of metadata that is used for * things like grouping instruments together (e.g. equities with their * derivative options). This interface is used to abstract the business logic * for determining that value. * * @author <a href="mailto:will@marketcetera.com">Will Horn</a> * @version $Id: UnderlyingSymbolSupport.java 16841 2014-02-20 19:59:04Z colin $ * @since 2.0.0 */ @ClassVersion("$Id: UnderlyingSymbolSupport.java 16841 2014-02-20 19:59:04Z colin $") public interface UnderlyingSymbolSupport { /** * Returns the underlying symbol for the supplied instrument. * * @param instrument the instrument * * @return the underlying symbol for the supplied instrument, never null */ String getUnderlying(Instrument instrument); }