Вызов функций
Этот раздел объясняет, как составить список и вызвать функции контекста программным путем.
Нахождение доступных функций
Существует несколько способов получения списка функций из Context
:
getFunctionDefinitions()
- этот метод вернет список всех функций в контекстеgetFunctionDefinitions(CallerController caller)
- этот метод вернет список функций, доступных вызывающемуgetFunctionDefinitions(String group)
- этот метод вернет список функций, принадлежащих определенной группе его подгруппgetFunctionDefinitions(CallerController caller, String group)
- этот метод вернет список функций, принадлежащих определенной группе и доступных ее вызывающему
|
Для извлечения одного определения функции по ее имени вызовите метод getFunctionDefinition(String name)
. Метод getFunctionDefinition(String name, CallerController caller)
вернет определение или ноль, если функция недоступна вызывающему.
Выполнение функций
Для вызова функции используйте метод Context.callFunction()
. Он принимает следующие аргументы: имя функции для вызова, опциональный экземпляр CallerController
, который включает права доступа вызывающей стороны (см. Работа с правами доступа) и опциональные параметры функции.
Существует два способа определения параметров ввода функции:
- Путем предоставления встроенного объекта
DataTable
. Этот объект может быть с нуля создан программным путем при помощи формата, получаемого черезFunctionDefinition.getInputFormat()
. - Путем предоставления отдельных значений ячеек таблицы данных ввода функции.
Метод callFunction()
возвращает DataTable
, представляющую вывод функции.
Пример 1 - вызов функции путем предоставления встроенной таблицы данных:
|
Пример 2 - вызов функции путем предоставления списка значений ячеек таблицы ввода:
|
Использование вспомогательных констант
Интерфейсы, которые расположены в пакете com.tibbo.aggregate.common.server
, предоставляют константы строк, которые подходят именам большинства функций контекста сервера и их полям ввода/вывода.
Использование этих констант всегда предпочтительнее, чем использование констант строк, определенных в вашем собственном коде. Это обеспечит безошибочный код, если некоторые функции или поля будут переименованы или перемещены в будущих версиях SberMobile Server.