/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.sesame.credit; import com.opengamma.analytics.financial.credit.isdastandardmodel.ISDACompliantCurve; import com.opengamma.analytics.financial.credit.isdastandardmodel.ISDACompliantYieldCurve; import com.opengamma.sesame.Environment; import com.opengamma.sesame.OutputNames; import com.opengamma.sesame.cache.Cacheable; import com.opengamma.sesame.function.Output; import com.opengamma.util.money.Currency; import com.opengamma.util.result.Result; /** * Function for producing {@link ISDACompliantYieldCurve}s, the analytics object for * representing yield curves in ISDA compliant credit calculations. */ public interface IsdaCompliantYieldCurveFn { /** * Builds an {@link ISDACompliantYieldCurve} for the given currency. * @param env the pricing environment * @param ccy the currency of the curve to bootstrap * @return a result containing an {@link ISDACompliantCurve} if successful, or failure */ @Cacheable @Output(OutputNames.ISDA_YIELD_CURVE) Result<IsdaYieldCurve> buildIsdaCompliantCurve(Environment env, Currency ccy); }