Выражение пригодности

Выражение пригодности помогает SberMobile Server определить, с какими контекстами может работать ресурс. Оно пишется с использованием встроенного языка выражений. Когда создается новый ресурс или обновляется само выражение пригодности, SberMobile Server вычисляет это выражение для каждого контекста в системе. Если выражение вычисляется как true, сервер считает, что ресурс "понимает" данные этого контекста и:

Пример 1: Выражение пригодности часто используется для проверки типа контекста. Это полезно для создания виджетов, работающих с определенными типами Device или системных ресурсов. Например, чтобы виджет мог работать с каждым устройством SNMP в системе, задайте Выражение пригодности как {.#type} == 'device.snmp'. Это выражение разрешается в TRUE, когда для контекста проверяется свойство type (обозначенное путем относительного контекста ".") равное device.snmp.

Пример 2: Динамические группы используют Выражение пригодности для консолидации устройств определенного типа. Например, чтобы группа могла содержать все устройства типа принтер в системе, задайте Выражение пригодности как startsWith({.:#type}, 'device') && {.:genericProperties$type} == 'printer'.. Это выражение разрешается в TRUE, когда проверямое для контекста свойство type (обозначенное путем относительного контекста ".") начинается со слова device и поля type переменной genericProperties (которая содержит выбранный пользователем тип устройства) равного printer.

Среда вычисления выражения пригодности:

Контекст по умолчанию

Контекст, для которого проверяется пригодность.

Таблица данных по умолчанию

Отсутствует.

Строка по умолчанию

0

Переменные среды

Только стандартные переменные.

Перерасчет выражения пригодности

Выражение пригодности рассчитывается в следующих случаях:

  • При запуске сервера для связывания ресурса со всеми существующими пригодными контекстами

  • Когда создается новый контекст для связывания с ним ресурса, если он пригоден

  • Когда модифицируется само Выражение пригодности, оно пересчитывается для всех контекстов в системе, потому что новый набор контекстов станет пригоден в то время, когда другие уже не будут пригодны

  • Когда случается событие, указанное правилом обновления пригодности