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

Choice

Общее описание

Логический блок Choice обрабатывает входное сообщение по условию, заданному пользователем при размещении блока в редакторе потока. Алгоритм работы блока Choice соответствует логическим блокам If-Else и Switch классического программирования.

При выполнении условия, заданного для ветки (веток) маршрута When, сообщение направляется на дальнейшую обработку по соответствующей ветке. Для обработки случаев, когда ни одно из условий When не выполняется, предусмотрена ветка Otherwise.

Пустая ветка When добавляется автоматически при добавлении логического блока Choice. Вы можете добавить еще несколько веток When, нажав на кнопку «+» справа от блока Choice.

Пустая ветка Otherwise добавляется автоматически при добавлении логического блока Choice. Ветка Otherwise может быть только одна.

Удаление блока Choice и его веток производится по следующим правилам:

  • При удалении блока Choice удаляются все ветки и блоки, расположенные внутри его области действия;

  • При удалении блока When или Otherwise из блока Choice, удаляются все блоки, размещенные в этой ветке;

  • При удалении последней ветки When в блок Choice добавляется новая пустая ветка When;

  • При удалении ветки Otherwise в блок Choice добавляется новая пустая ветка Otherwise.

Настройка блока Choice

В данном разделе описаны параметры блока Choice и блоков When и Otherwise, которые необходимо заполнить при его настройке.

Параметры блока Choice

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
DisableddisabledОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
Preconditionprecondition

Указывает, задана ли для блока Choice предобработка.

В режиме предобработки логический блок Choice является оптимизированным контекстно-зависимым роутером. Блок выбирает при запуске одну из веток (When/Otherwise) и всегда выполняет маршрутизацию по этой ветке. Это позволяет избежать проверки для каждого сообщения, поскольку они всегда будут направляться по одной и той же ветке.

Поскольку в режиме предобработки блок Choice проверяет условия во время запуска, эти условия не могут основываться на содержимом сообщения. Они могут основываться на свойствах конфигурации, переменных окружения, системных свойствах JVM.

FalseЛогическое значение

Параметры блока When

Название в UIНазвание атрибутаОписаниеЗначение по умолчаниюТип данных
Languagelanguage

__Обязательный параметр

Выбор языка, на котором написано условие.

Возможные значения:

  • groovy

  • js

  • java

  • constant

  • simple

  • xpath

groovyСписок
Expressionexpression

Обязательный атрибут

Условие

Выражение
Result TyperesultTypeФормат результата вычисления условия.Строка
DisableddisabledОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение
TrimtrimЗадает нужно ли отсекать перенос строки и пробелы в начале и конце значения.TrueЛогическое значение

Параметры блока Otherwise

НазваниеОбязательныйОписаниеЗначение по умолчаниюТип данных
DisabledОпределяет будет ли блок отключен в потоке. В активированном потоке функциональность блока не будет отрабатываться.FalseЛогическое значение