Package org.example.expression.function
Interface Function
-
- All Known Implementing Classes:
LogFunction,MathFunction,TrigonometricalFunction
public interface FunctionИнтерфейс математической функции (паттерн Strategy).Реализации этого интерфейса позволяют добавлять кастомные функции в систему вычисления выражений без изменения кода
StackEvaluator.Требования к реализации:
- Должен быть потокобезопасным и не хранить изменяемое состояние (stateless)
- Метод
apply(double...)должен проверять количество и валидность аргументов - При некорректных аргументах выбрасывать
ExpressionException
- See Also:
FunctionRegistry
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description doubleapply(double... args)Вычисляет значение функции.
-
-
-
Method Detail
-
apply
double apply(double... args) throws ExpressionExceptionВычисляет значение функции.- Parameters:
args- аргументы функции (varargs для поддержки унарных/бинарных/многоаргументных функций)- Returns:
- результат вычисления
- Throws:
ExpressionException- если количество аргументов не соответствует ожидаемому, или значения аргументов выходят за допустимый диапазон
-
-