Class TargetTypeCalculationParameter

    • Method Detail

      • of

        public static TargetTypeCalculationParameter of​(java.util.Map<java.lang.Class<?>,​CalculationParameter> parameters,
                                                        CalculationParameter defaultParameter)
        Obtains an instance from the specified parameters.

        The map provides a lookup from the CalculationTarget implementation type to the appropriate parameter to use for that target. If a target is requested that is not in the map, the default parameter is used.

        Parameters:
        parameters - the parameters, keyed by target type
        defaultParameter - the default parameter
        Returns:
        the target aware parameter
      • queryType

        public java.lang.Class<? extends CalculationParameter> queryType()
        Description copied from interface: CalculationParameter
        Gets the type that the parameter will be queried by.

        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.

        Specified by:
        queryType in interface CalculationParameter
        Returns:
        the type of the parameter implementation
      • filter

        public java.util.Optional<CalculationParameter> filter​(CalculationTarget target,
                                                               Measure measure)
        Description copied from interface: CalculationParameter
        Filters this parameter to the specified target and 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.

        Specified by:
        filter in interface CalculationParameter
        Parameters:
        target - the calculation target, such as a trade
        measure - the measure to be calculated
        Returns:
        the parameter appropriate to the target and measure, empty if this parameter does not apply
      • getQueryType

        public java.lang.Class<? extends CalculationParameter> getQueryType()
        Gets the parameter query type.
        Returns:
        the value of the property, not null
      • getParameters

        public com.google.common.collect.ImmutableMap<java.lang.Class<?>,​CalculationParameter> getParameters()
        Gets the underlying parameters, keyed by target type.
        Returns:
        the value of the property, not null
      • getDefaultParameter

        public CalculationParameter getDefaultParameter()
        Gets the default underlying parameter.
        Returns:
        the value of the property, not null
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object