Вызов функций
Этот раздел объясняет, как составить список и вызвать функции контекста программным путем.
Нахождение доступных функций
Существует несколько способов получения списка функций из 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.