package com.activequant.interfaces.dao; import java.util.List; import com.activequant.domainmodel.Instrument; import com.activequant.domainmodel.MarketDataInstrument; public interface IMarketDataInstrumentDao extends IEntityDao<MarketDataInstrument> { /** * fetch all mdinstruments for a specific provider. * * @param providerId * f.e. Bloomberg * * @return */ MarketDataInstrument[] findForProvider(String providerId); int countForProvider(String providerId); String[] getProviders(); MarketDataInstrument[] findFor(Instrument instrument); /** * returns the IDs for an instrument Id * @param instrumentId * @return */ List<String> findIdsFor(String instrumentId); /** * * @param providerId for example BBGT * @param instrument any instrument * @return the MDI, in case it exists. if not, then null. */ MarketDataInstrument findFor(String providerId, Instrument instrument); MarketDataInstrument findByProvId(String providerId, String provSpecInstId); MarketDataInstrument[] findLike(String providerId, String provSpecInstId); MarketDataInstrument[] findForProvider(String providerId, int startIndex, int maxAmount); }