Class CalculateInputFromDelegateOption<S extends FeatureInput, T extends FeatureInput, U>

Object
CalculationPart<Optional<S>, T>
CalculateInputFromDelegate<Optional<S>, T, U>
CalculateInputFromDelegateOption<S,T,U>
Type Parameters:
S - optional final-type of CalculationPart.
T - feature input-type as input to cached-calculations.
U - delegate-type of CalculationPart.
All Implemented Interfaces:
ResettableCalculation

public abstract class CalculateInputFromDelegateOption<S extends FeatureInput, T extends FeatureInput, U> extends CalculateInputFromDelegate<Optional<S>, T, U>
Like CalculateInputFromDelegate except assumes optional return value and no parameters.
Author:
Owen Feehan
  • Constructor Details

    • CalculateInputFromDelegateOption

      protected CalculateInputFromDelegateOption(ResolvedPart<U,T> delegate)
      Creates with a delegate.
      Parameters:
      delegate - the resolved-calculation for the delegate.
  • Method Details

    • calc

      public static <S extends FeatureInput, T extends FeatureInput, U> double calc(FeatureCalculationInput<T> input, CalculationPart<U,T> delegate, Function<ResolvedPart<U,T>, CalculateInputFromDelegateOption<S,T,U>> createFromDelegate, Feature<S> feature, ChildCacheName cacheName, double emptyValue) throws FeatureCalculationException
      Calculates a feature using a cached-calculation as delegate.
      Type Parameters:
      S - optional final input-type for calculation
      T - input-type for calculation
      U - delegate-type of CachedCalculation
      Parameters:
      input - feature-input.
      delegate - the Cached-Calculation delegate used.
      createFromDelegate - creates a calculation from the delegates.
      feature - feature to use to calculate the output result.
      cacheName - a sub-cache of the main cache to use for calculating the output feature.
      emptyValue - what to return if the parameters are empty.
      Returns:
      the result of the feature calculation.
      Throws:
      FeatureCalculationException - if the calculation does not succeed successfully.
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class CalculateInputFromDelegate<Optional<S extends FeatureInput>, T extends FeatureInput, U>
    • canEqual

      protected boolean canEqual(Object other)
      Overrides:
      canEqual in class CalculateInputFromDelegate<Optional<S extends FeatureInput>, T extends FeatureInput, U>
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class CalculateInputFromDelegate<Optional<S extends FeatureInput>, T extends FeatureInput, U>