public interface CalculationParameter
Parameters are used to control the calculation.
For example, ReportingCurrency is a parameter that controls currency conversion.
If specified, on a Column, or in CalculationRules, then the output will
be converted to the specified currency.
Applications may implement this interface to add new parameters to the system.
In order to be used, new implementations of CalculationFunction must be written
that receive the parameters and perform appropriate behavior.
Implementations of this interface must be immutable.
| Modifier and Type | Method and Description |
|---|---|
default Optional<CalculationParameter> |
filter(CalculationTarget target,
Measure measure)
Filters this parameter to the specified target and measure.
|
default Class<? extends CalculationParameter> |
queryType()
Gets the type that the parameter will be queried by.
|
default Class<? extends CalculationParameter> queryType()
Parameters can be queried using CalculationParameters.findParameter(Class).
This type is the key that callers must use in that method.
By default, this is just Object.getClass().
It will only differ if the query type is an interface rather than the concrete class.
default Optional<CalculationParameter> filter(CalculationTarget target, Measure measure)
Parameters may apply to all targets and measures or just a subset.
The CalculationParameters.filter(CalculationTarget, Measure) method
uses this method to filter a complete set of parameters.
By default, this returns Optional.of(this).
If the parameter does not apply to either the target or measure, then optional empty must be returned.
If desired, the result can be a different parameter, allowing one parameter to delegate
to another when filtered.
target - the calculation target, such as a trademeasure - the measure to be calculatedCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.