/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.analytics.volatility.surface; import org.threeten.bp.LocalDate; import com.opengamma.financial.convention.expirycalc.ExchangeTradedInstrumentExpiryCalculator; import com.opengamma.id.ExternalId; /** * Provides instrument tickers, {@link ExternalId}'s, for each point on the curve. * It is likely that the implementing classes will be specific to the data provider. * @param <X> The type of the x-axis values */ public interface FuturePriceCurveInstrumentProvider<X> { ExternalId getInstrument(X xAxis); // TODO: Remove this. It will never be used by any implementing class ExternalId getInstrument(X xAxis, LocalDate curveDate); String getDataFieldName(); String getTickerScheme(); ExchangeTradedInstrumentExpiryCalculator getExpiryRuleCalculator(); }