Package com.opengamma.strata.calc.runner
Interface DerivedCalculationFunction<T extends CalculationTarget,R>

 Type Parameters:
T
 the type of the target handled by this function, often a tradeR
 the type of value calculated by this function
 All Known Implementing Classes:
AbstractDerivedCalculationFunction
public interface DerivedCalculationFunction<T extends CalculationTarget,R>
A derived calculation function calculates one measure using the measures calculated by another function.Strata executes the other function and checks that all required measures are available before calling this function.
A derived calculation function can be added to an existing set of calculation functions using
CalculationFunctions.composedWith(DerivedCalculationFunction[])
.


Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description R
calculate(T target, java.util.Map<Measure,java.lang.Object> requiredMeasures, CalculationParameters parameters, ScenarioMarketData marketData, ReferenceData refData)
Calculates the measure.Measure
measure()
Returns the measure calculated by the function.java.util.Set<Measure>
requiredMeasures()
Returns the measures required by this function to calculate its measure.FunctionRequirements
requirements(T target, CalculationParameters parameters, ReferenceData refData)
Returns requirements for the market data required by this function to calculate its measure.java.lang.Class<T>
targetType()
Returns the type of calculation target handled by the function.



Method Detail

targetType
java.lang.Class<T> targetType()
Returns the type of calculation target handled by the function. Returns:
 the type of calculation target handled by the function

measure
Measure measure()
Returns the measure calculated by the function. Returns:
 the measure calculated by the function

requiredMeasures
java.util.Set<Measure> requiredMeasures()
Returns the measures required by this function to calculate its measure. Returns:
 the measures required by this function to calculate its measure

requirements
FunctionRequirements requirements(T target, CalculationParameters parameters, ReferenceData refData)
Returns requirements for the market data required by this function to calculate its measure. Parameters:
target
 the target of the calculation, often a tradeparameters
 the calculation parameters specifying how the calculations should be performedrefData
 the reference data used in the calculations Returns:
 requirements for the market data required by this function to calculate its measure

calculate
R calculate(T target, java.util.Map<Measure,java.lang.Object> requiredMeasures, CalculationParameters parameters, ScenarioMarketData marketData, ReferenceData refData)
Calculates the measure.This method is only invoked if all of the required measures are available. Therefore implementation can safely assume that
requiredMeasures
contains all the required data. Parameters:
target
 the target of the calculation, often a traderequiredMeasures
 the calculated measure values required by this function to calculate its measureparameters
 the calculation parameters specifying how the calculations should be performedmarketData
 the market data used in the calculationsrefData
 the reference data used in the calculations Returns:
 the calculated measure value.

