/**
* Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.sesame.inflation;
import com.opengamma.analytics.financial.instrument.InstrumentDefinition;
import com.opengamma.analytics.financial.instrument.swap.SwapFixedInflationZeroCouponDefinition;
import com.opengamma.analytics.financial.interestrate.InstrumentDerivative;
import com.opengamma.financial.security.swap.ZeroCouponInflationSwapSecurity;
import com.opengamma.sesame.Environment;
import com.opengamma.util.result.Result;
import com.opengamma.util.tuple.Pair;
/**
* Converts an {@link ZeroCouponInflationSwapSecurity} into an {@link InstrumentDefinition} and {@link InstrumentDerivative}.
*/
public interface InflationSwapConverterFn {
/**
* Converts a ZC Inflation Swap Security to a swap definition and an instrument derivative.
*
* @param env the environment for the calculations
* @param security the security
* @return swap definition and instrument derivative created from the security
*/
Result<Pair<SwapFixedInflationZeroCouponDefinition, InstrumentDerivative>> convert(Environment env, ZeroCouponInflationSwapSecurity security);
}