Мастер функций для функции JavaInvoke:
JavaInvoke(ClassName, MethodName, MethodSig, Param,…)
ClassName. Наименование Java-класса в файловой системе или наименование системного модуля в сигнатуре JNI. При указании Java-класса в файловой системе используется файл с расширением *.class;
MethodName. Наименование выполняемого метода;
MethodSig. JNI-сигнатура метода;
Param1, Param2, …, ParamN. Параметры, передаваемые в метод.
Примечание. Для формирования сигнатур в формате Java Native Interface (JNI) ознакомьтесь с правилами формирования сигнатур.
Возвращает результат выполнения статического Java-метода.
Примечание. Перед использованием функции убедитесь, что выполнена интеграция «Форсайт. Аналитическая платформа» с Java.
Для выполнения метода файл с расширением *.class должен быть расположен по пути, который задается с помощью строкового параметра Options в ветке реестра HKEY_CURRENT_USER\SOFTWARE\Foresight\Foresight Analytics Platform\10.0\DevEnv\Java. Для получения подробной информации обратитесь к разделу «Подключение дополнительных модулей к «Форсайт. Аналитическая платформа».
Функция может содержать несколько параметров. В мастере формул новые параметры добавляются автоматически после того, как пользователь установил курсор в поле с параметром. Если были добавлены лишние параметры, то их нужно оставить пустыми. Если функция не содержит параметры, то поле Param необходимо оставить пустым.
При вызове функций Java учитывайте следующие особенности:
наименование класса и выполняемого метода регистрозависимые;
класс, в котором содержится метод, должен быть реализован в файле или должен быть импортирован в состав библиотеки Java;
параметры функции и результат, который она возвращает, должны иметь один из следующих типов данных: Boolean, Byte, Short, Int, Long, Double, Float, Char.
Совет. Для получения подробной информации о написании функций на языке Java обратитесь к документации 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. Метод возвращает результат расчёта арифметической функции. |
См. также: