SelectOutput5


Объект направляет входящие заявки в один из пяти выходных портов в зависимости от выполнения заданных (детерминистических или заданных с помощью вероятностей) условий. 

У объекта есть два режима работы: Условия и Вероятности

Поступившая заявка покидает объект в тот же момент времени.

Объект может использоваться для сортировки заявок согласно заданному критерию, для случайного разделения потока заявок на части и т.д.

Иногда требуется иметь более пяти выходов. Вы можете создать свой собственный активный объект SelectOutput[N] с одним входным портом, несколькими (N) выходными портами и N-1 динамическим параметром, задающим условия. Есть два способа реализации: Вы можете либо использовать каскад из N-1 объектов SelectOutput и/или SelectOutput5, либо добавить в этот объект один объект Exit и N объектов Enter (реализовав механизм сложной маршрутизации).

Параметры класса

Класс заявки
Класс заявок, проходящих через объект, должен быть подклассом Entity. Указав класс заявки, Вы можете напрямую обращаться к полям этого класса в коде динамических параметров, например, onEnter.
Синтаксис: T extends Entity
Значение по умолчанию: Entity

Порты

InPort in
Входной порт.
OutPortPush out0
Первый выходной порт.
OutPortPush out1
Второй выходной порт.
OutPortPush out2
Третий выходной порт.
OutPortPush out3
Четвертый выходной порт.
OutPortPush outD
Пятый выходной порт.

Параметры

Использовать
Режим работы объекта. Определяет, как будет производиться маршрутизация заявок: будут ли для определения того, на какой выход нужно перенаправлять заявки, использоваться заданные Условия или же заявки будут случайно распределяться в соответствии с тем, какие для выходных портов заданы Вероятности.
Синтаксис: boolean useConditions
Значение по умолчанию: Вероятности (false)
Условие 0 .. 3 [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Условия] Условие, проверяемое для входящей заявки. Если Условие N будет выполнено (равно true), то заявка покинет объект через порт outN. Если нет - то будет проверяться следующее условие, Условие N+1. Если не будет выполнено ни одно из условий, то заявка покинет объект через пятый выходной порт outD
Синтаксис:  boolean condition0, condition1, ...
Локальная переменная: T entity - заявка.
Вероятность 0 .. 4 [dynamic]
[Параметр виден, если в параметре Использовать выбрана опция Вероятности] Выражение, вычисляющее вероятность того, что текущая заявка покинет объект через порт out0 .. out3, outD.  
Синтаксис double probability0, probability1, ...
Локальная переменная: T entity - заявка.
Значение по умолчанию: 0.2 - не зависит от поступающих заявок и просто разделяет поток заявок на пять равных частей.
Действие при входе [динамический]
Код, выполняемый, когда заявка поступает в объект.
Синтаксис: void onEnter
Локальная переменная: T entity - заявка.
Действие при выходе 0 [динамический]
Код, выполняемый, когда заявка покидает объект через порт out0.
Синтаксис: void onExit0
Локальная переменная: T entity - заявка.
Действие при выходе 1 [динамический]
Код, выполняемый, когда заявка покидает объект через порт out1.
Синтаксис: void onExit1
Локальная переменная: T entity - заявка.
Действие при выходе 2 [динамический]
Код, выполняемый, когда заявка покидает объект через порт out2.
Синтаксис: void onExit2
Локальная переменная: T entity - заявка.
Действие при выходе 3 [динамический]
Код, выполняемый, когда заявка покидает объект через порт out3.
Синтаксис: void onExit3
Локальная переменная: T entity - заявка.
Действие при выходе 4 [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Вероятности] Код, выполняемый, когда заявка покидает объект через пятый выходной порт outD в режиме Вероятностей.
Синтаксис: void onExit4
Локальная переменная: T entity - заявка.
Действие при выходе 4 (по умолчанию) [динамический]
[Параметр виден, если в параметре Использовать выбрана опция Условия] Код, выполняемый, когда заявка покидает объект через порт outD в режиме Условий, то есть в том случае, когда ни одно из условий, заданных для первых четырех выходов, не было выполнено.
Синтаксис: void onExitDefault
Локальная переменная: T entity - заявка.