Interface FeatureCalculator<T extends FeatureInput>
- Type Parameters:
T
- feature-input type
- All Superinterfaces:
CalculationPartResolver<T>
,FeatureSymbolCalculator<T>
public interface FeatureCalculator<T extends FeatureInput>
extends CalculationPartResolver<T>, FeatureSymbolCalculator<T>
Calculates
FeatureCalculationInput
when passed a particular Feature
and
corresponding FeatureCalculationInput
.- Author:
- Owen Feehan
-
Method Summary
Modifier and TypeMethodDescriptiondouble
calculate
(Feature<T> feature, FeatureCalculationInput<T> input) Calculate the result of feature with a particular input.default ResultsVector
calculate
(FeatureList<T> features, FeatureCalculationInput<T> input) Calculates results for a list of features with a particular input, throwing an exception if a calculation fails.Methods inherited from interface org.anchoranalysis.feature.calculate.part.CalculationPartResolver
search, search
Methods inherited from interface org.anchoranalysis.feature.calculate.cache.FeatureSymbolCalculator
calculateFeatureByIdentifier, resolveFeatureIdentifier
-
Method Details
-
calculate
double calculate(Feature<T> feature, FeatureCalculationInput<T> input) throws FeatureCalculationException Calculate the result of feature with a particular input.- Parameters:
feature
- the feature to calculate.input
- the input to calculate.- Returns:
- the result of the calculation.
- Throws:
FeatureCalculationException
- if the feature cannot be successfully calculated.
-
calculate
default ResultsVector calculate(FeatureList<T> features, FeatureCalculationInput<T> input) throws NamedFeatureCalculateException Calculates results for a list of features with a particular input, throwing an exception if a calculation fails.- Parameters:
features
- list of features.input
- the input to calculate.- Returns:
- the results of the calculation for each respective feature, with
Double.NaN
(and the stored exception) if an error occurs. - Throws:
NamedFeatureCalculateException
- if any feature cannot be successfully calculated.
-