JavaInvoke_(ClassName: String, MethodName: String, MethodSig: String, Params: Array)
ClassName. Наименование Java-класса в файловой системе или наименование системного модуля в сигнатуре JNI. При указании Java-класса в файловой системе используется файл с расширением *.class. Значение параметра является регистрозависимым;
MethodName. Наименование выполняемого метода. Значение параметра является регистрозависимым;
MethodSig. JNI-сигнатура метода;
Params. Параметры, передаваемые в метод. Значения параметров метода могут быть переданы в виде отдельного массива или перечислены через запятую. Если выполняемый метод не содержит входных параметров, то Params можно не указывать.
Метод JavaInvoke_ выполняет статический Java-метод и возвращает результат его работы.
Для выполнения метода файл с расширением *.class должен быть расположен по пути, который задается с помощью строкового параметра Options в ветке реестра HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Java. Для получения подробной информации обратитесь к разделу «Подключение дополнительных модулей к «Форсайт. Аналитическая платформа».
Рассмотрим код на Java:
public class math {
public static double staticFunc(double a, double b){
return (a + b)/2;
}
}
В таблице приведены примеры формул с использованием метода JavaInvoke_:
Формула | Результат | Описание |
=JavaInvoke_("math", "staticFunc", "(DD)D", 4.0, 2.0) | 3.0 | В классе с наименованием «math» выполняется арифметическая функция «staticFunc». В функции заданы параметры вещественного типа - переменная а принимает значение 4.0, переменная b принимает значение 2.0. Метод возвращает результат расчёта арифметической функции. |
=JavaInvoke_("math", "staticFunc", "(DD)D", С3, С4) | 5.0 | В классе с наименованием «math» выполняется арифметическая функция «staticFunc». В функции заданы параметры вещественного типа - переменная а принимает значение, указанное в ячейке С3, переменная b принимает значение, указанное в ячейке С4. В ячейке С3 содержится значение 4.0, в ячейке С4 - 6.0. Метод возвращает результат расчёта арифметической функции. |
См. также:
Функции, доступные в редакторе выражения | Работа с Java | Java.Invoke