Нахождение и оценка произвольных данных

В этом разделе объясняется, как найти, прочитать или изменить данные в SberMobile.

1. Обнаружение необходимого контекста

Первый этап -- это определение места расположения контекста, который предоставляет необходимые настройки, операции или события. Существует несколько способов, как этого достичь:

2. Обнаружение необходимой переменной/функции/события

  • Если контекст, содержащий необходимые данные, был обнаружен в ссылке контекста, проверьте раздел Открытые Переменные, Открытые Функции или Открытые События соответствующей главы по имени переменной/функции/события, содержащих необходимые данные.  
  • Всплывающая подсказка для рядов и ячеек компонента Редактор отображает имена переменных;
  • Всплывающая подсказка для событий в компоненте Журнал Регистрации Событий отображает контекст ресурса события и его имя;
  • Имена функций можно просмотреть, используя компонент Селектор Объектов;
  • Редактор свойств предлагает операцию Просмотр Информации о Переменной в конекстном меню, в то время как Журнал Регистрации Событий включает в себя возможность Просмотра Определения События. Эти операции отображают все свойства определений, их формат и пр.

3. Определение имени и типа полей

Поскольку каждое значение является Таблицей Данных, необходимо определить, какие поля имеют этот формат. Это включает имена полей и их типы.

  • Если нужное определение обнаружено в ссылке контекста, его описание будет содержать таблицу формата, описывающую имена полей, типы и назначение.
  • При использовании UI, следует учитывать следующее:
    • Значения переменных, данные событий или функции ввода/вывода всегда открываются в компоненте Редактор Таблиц Данных. Всплывающие подсказки колонки, ряда и ячейки в Редакторе Таблиц Данных отображают имена и типы полей;
    • Операции Просмотр Информации о Переменной и Просмотр Определения Переменной (см выше) предоставляют подробную информацию обо всех свойствах полей, включая их значения по умолчанию, значения выборки и пр.

4. Осуществление доступа к данным программным путем

После нахождения необходимого контекста, перменной/функции/события и их полей, доступ к ним может осуществляться программным путем, как с плагинов сервера, так и используя удаленный API:

  • Получить необходимый объект Context, используя метод ContextManager.get(), Context.getChild() или Context.getParent().

Чтобы программным путем выстроить имена/пути контекста сервера, используйте методы статического помощника, определенные в классе ContextUtils, и константы, определенные в классе Contexts.

Пример: String alertContextPath = ContextUtils.alertContextPath("admin", "myAlert");

  • Получить/установить переменную, вызвать функцию добавленного получателем события, используя методы getVariable(), setVariable(), callFunction(), addEventListner().
  • Чтобы построить новое значение переменной значения ввода функции с нуля, используйте следующий код: new SimpleDataTable(VariableDefinition.getFormat()) или new SimpleDataTable(FunctionDefinition.getInputFormat()).
  • При обработке DataTable можно получить определенный DataRecord, используя метод getRecord(). Максимально быстро получить первую запись можно, используя метод rec().
  • DataRecord предоставляет общий метод getValue(), a также метод setValue() для чтения/записи значений полей. Однако, существует ряд методов для получения значения поля разных типов: getInt(), getString(), getBoolean() и пр.

Для ссылки на упомянутые переменные/функции/события/действия сервера и их поля используйте константы, определенные в членах пакета com.tibbo.aggregate.common.server.

Пример: String serverVersion = rootContext.getVariable(RootContextConstants.V_VERSION).rec().getString(RootContextConstants.VF_VERSION_VERSION);