All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.opengamma.strata.loader.csv.SensitivityCsvInfoSupplier Maven / Gradle / Ivy

There is a newer version: 2.12.46
Show newest version
/*
 * Copyright (C) 2018 - present by OpenGamma Inc. and the OpenGamma group of companies
 *
 * Please see distribution for license.
 */
package com.opengamma.strata.loader.csv;

import java.util.List;

import com.google.common.collect.ImmutableList;
import com.opengamma.strata.market.param.CurrencyParameterSensitivity;
import com.opengamma.strata.market.sensitivity.CurveSensitivities;

/**
 * Resolves additional information when writing sensitivity CSV files.
 * 

* This allows additional CSV columns to be written. */ public interface SensitivityCsvInfoSupplier { /** * Obtains an instance that uses the standard set of reference data. * * @return the loader */ public static SensitivityCsvInfoSupplier standard() { return StandardCsvInfoImpl.INSTANCE; } //------------------------------------------------------------------------- /** * Returns the list of additional headers this supplier provides. * * @param curveSens the curve sensitivities to output * @return the list of additional headers */ public default List headers(CurveSensitivities curveSens) { return ImmutableList.of(); } /** * Gets the values associated with the headers. *

* This must return a list of the same size as {@code additionalHeaders} * where each element in the list is the value for the matching header. *

* This will be invoked once for each {@link CurrencyParameterSensitivity} in the {@link CurveSensitivities}. * * @param additionalHeaders the additional headers * @param curveSens the curve sensitivities to output * @param paramSens the parameter sensitivities to output * @return the value for the specified header, not null */ public default List values( List additionalHeaders, CurveSensitivities curveSens, CurrencyParameterSensitivity paramSens) { return ImmutableList.of(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy