/**
* Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.marketdata.resolver;
import com.opengamma.engine.marketdata.MarketDataProvider;
import com.opengamma.engine.marketdata.spec.MarketDataSpecification;
import com.opengamma.livedata.UserPrincipal;
import com.opengamma.util.PublicSPI;
/**
* Resolver for {@link MarketDataProvider}s
*/
@PublicSPI
public interface MarketDataProviderResolver {
/**
* Resolves a {@link MarketDataSpecification} into a {@link MarketDataProvider} which is able to work with the
* specification.
*
* @param marketDataUser the market data user any subscriptions should be made from
* @param snapshotSpec the snapshot specification for which a provider is required, not null
* @return the resolved snapshot provider or null if a provider can't be resolved
*/
MarketDataProvider resolve(UserPrincipal marketDataUser, MarketDataSpecification snapshotSpec);
}