/**
* Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.financial.analytics.model.trs;
import java.util.List;
import com.opengamma.engine.function.config.AbstractFunctionConfigurationBean;
import com.opengamma.engine.function.config.FunctionConfiguration;
import com.opengamma.engine.function.config.FunctionConfigurationSource;
/**
* Adds pricing and risk functions for total return swaps to the function configuration.
*/
public class TotalReturnSwapFunctions extends AbstractFunctionConfigurationBean {
/**
* Gets an instance of this class.
* @return The instance
*/
public static FunctionConfigurationSource instance() {
return new TotalReturnSwapFunctions().getObjectCreating();
}
@Override
protected void addAllConfigurations(final List<FunctionConfiguration> functions) {
functions.add(functionConfiguration(BondTotalReturnSwapAssetLegDetailsFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapAssetLegPVFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapBCSFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapYCNSFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapConstantSpreadThetaFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapFundingLegDetailsFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapGammaPV01Function.class));
functions.add(functionConfiguration(BondTotalReturnSwapFundingLegPVFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapPVFunction.class));
functions.add(functionConfiguration(BondTotalReturnSwapPV01Function.class));
functions.add(functionConfiguration(BondTotalReturnSwapCurrencyExposureFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapAssetLegPVFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapYCNSFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapBCSFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapFundingLegDetailsFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapFundingLegPVFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapGammaPV01Function.class));
functions.add(functionConfiguration(EquityTotalReturnSwapPV01Function.class));
functions.add(functionConfiguration(EquityTotalReturnSwapPVFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapValueDeltaFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapConstantSpreadThetaFunction.class));
functions.add(functionConfiguration(EquityTotalReturnSwapCurrencyExposureFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapAssetLegPVFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapBCSFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapYCNSFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapConstantSpreadThetaFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapFundingLegDetailsFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapGammaPV01Function.class));
functions.add(functionConfiguration(BillTotalReturnSwapFundingLegPVFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapPVFunction.class));
functions.add(functionConfiguration(BillTotalReturnSwapPV01Function.class));
functions.add(functionConfiguration(BillTotalReturnSwapCurrencyExposureFunction.class));
}
}