public virtual MarketDataBox <FxRate> build(FxRateId id, MarketDataConfig marketDataConfig, ScenarioMarketData marketData, ReferenceData refData) { FxRateConfig fxRateConfig = marketDataConfig.get(typeof(FxRateConfig), id.ObservableSource); Optional <QuoteId> optional = fxRateConfig.getObservableRateKey(id.Pair); return(optional.map(key => buildFxRate(id, key, marketData)).orElseThrow(() => new System.ArgumentException("No FX rate configuration available for " + id.Pair))); }
public virtual MarketDataRequirements requirements(FxRateId id, MarketDataConfig marketDataConfig) { FxRateConfig fxRateConfig = marketDataConfig.get(typeof(FxRateConfig), id.ObservableSource); Optional <QuoteId> optional = fxRateConfig.getObservableRateKey(id.Pair); return(optional.map(key => MarketDataRequirements.of(key)).orElse(MarketDataRequirements.empty())); }