Перейти к основному содержимому
Руководство администратора
How To статьи
Установка и настройка
Компоненты
Руководство пользователя
Начало работы

Логические функции и функции условий

ESB поддерживает функции условий Simple — небольшие функции, которые в основном имеют на выходе boolean значение.

ФункцияТип ответаОписание
assert(exp,msg)nullВычисляет выражение и выбрасывает исключение SimpleAssertionException с сообщением, если условие ложно.
contains(text)booleanВозвращает true, если тело сообщения содержит часть текста (без учета регистра).
Функция удобна для проверки, содержит ли данное выражение частично заданный текст (без учета регистра). Например, если тело сообщения —Hello big World, то ${contains(world)} возвращает true, а ${contains(center)} возвращает false.
contains(exp,text)booleanВозвращает true, если выражение содержит часть текста (без учета регистра).
iif(predicate,trueExp,falseExp)ObjectВстроенная функция iif вычисляет выражение предиката и возвращает значение trueExp, если предикат истинен, в противном случае возвращается значение falseExp.
Функцияiif доступна в качестве тернарного оператора (predicate ? trueExp : falseExp). Пример с iif может быть таким: ${iif(${header.foo} > 0,'positive','negative')}. Этот пример также используется ниже с тернарным оператором. Вместо возврата фиксированной строки в качестве ответа вы также можете использовать такие функции, как: ${iif(${header.foo} > 0,${body},${null})}.
isEmptybooleanОпределяет является ли тело сообщения null или пустым (для типов list/map проверяется, имеют ли они 0 элементов).
Проверяет является ли значениеnull, пустой строкой, пустым списком/картой/массивом. Для любых других значений возвращается false.
isEmpty(exp)booleanОпределяет является ли выражение null или пустым (для типов list/map проверяется, имеют ли они 0 элементов).
isAlpha()booleanОпределяет является ли тело сообщения буквенным значением (A..Z).
Внутри будет использованы метод JDK Character.isLetter.
Функция ${isAlpha('Hello World') вернет false, потому что там есть пробел. Однако ${isAlpha('HelloWorld')} вернет true.
isAlpha(exp)booleanОпределяет является ли выражение буквенным значением (A..Z).
Внутри будет использованы метод JDK Character.isLetter.
isAlphaNumeric()booleanОпределяет является ли тело сообщения буквенно-цифровым значением (A..Z0-9).
Внутри будет использован метод Character.isLetterOrDigit.
isAlphaNumeric(exp)booleanОпределяет является ли выражение буквенно-цифровым значением (A..Z0-9).
Внутри будет использован метод Character.isLetterOrDigit.
isNumeric()booleanОпределяет является ли тело сообщения числовым значением (0..9).
Внутри будет использован метод JDK Character.isDigit.
isNumeric(exp)booleanОпределяет является ли выражение числовым значением (0..9).
Внутри будет использован метод JDK Character.isDigit.
not(predicate)booleanВычисляет предикат и возвращает инвертированное логическое значение значение.