Dropoff

Удаляет избранные заявки из поступающей заявки-контейнера и пересылает их далее через порт outDropoff. Так же, как и объект Pickup, используемый для добавления заявок в заявку-контейнер,
объект Dropoff извлекает заявки
согласно заданному режиму: либо все заявки, либо определенное их
количество,
либо те, для которых будет выполняться заданное условие (которое может
зависеть как от заявки-контейнера, так и от содержащихся в нем заявок).
Обратите внимание, что на момент проверки условия заявка все еще будет
в контейнере, но при выполнении Действия при оставлении заявка уже будет удалена из заявки-контейнера.
Вся операция занимает нулевое время.
Вы можете управлять процессом удаления заявок путем
задания различных Условий извлечения заявок, например, чтобы извлекать только те заявки типа Passenger, место назначения destination (заданное с помощью поля класса заявки) которых равно here, укажите Passenger в качестве класса заявки-контейнера и напишите условие извлечения заявок: entity.destination == here.
Если после извлечения необходимых Вам заявок Вам не нужно сохранять заявку-контейнер, Вы можете использовать вместо объекта Dropoff объект Unbatch.
Параметры класса
- Классы заявок
- Контейнер
- Класс заявок, поступающих в объект, должен быть подклассом Entity. Указав класс заявки, Вы можете напрямую обращаться к полям этого класса в коде динамических параметров, таких, как onEnter.
Синтаксис: TContainer extends Entity
Значение по умолчанию: Entity
- Заявка
- Класс заявок, извлекаемых из заявки-контейнера и покидающих объект через порт outDropoff, должен быть подклассом Entity. Указав класс заявки, Вы можете напрямую обращаться к полям этого класса в коде динамических параметров, таких, как onDropoff.
Синтаксис: TBatch extends Entity
Значение по умолчанию: Entity
Порты
- InPort in
- Входной порт.
- OutPortPush out
- Выходной порт.
- OutPortPush outDropoff
- Выходной порт для заявок, извлеченных из заявки-контейнера.
Параметры
- Оставлять
- Определяет режим извлечения заявок из заявки-контейнера: должен ли объект извлекать Все заявки, либо их Заданное количество (если доступно), либо извлекать те заявки, для которых выполняется заданное Условие (Пока выполняется условие).
Синтаксис: int dropoffType
Значение по умолчанию: Пока выполняется условие
Допустимые значения: Dropoff.ALL, Dropoff.QUANTITY, Dropoff.BY_CONDITION
- Условие [динамический]
- [Виден, если у параметра Оставлять выбрана опция Пока выполняется условие]
Условие, вычисляемое для каждой заявки, содержащейся в
заявке-контейнере и определяющее, должна ли данная заявка быть
извлечена из контейнера. Условие может зависеть как от
заявки-контейнера, так и от содержащихся в нем заявок - "кандидатов" на
извлечение.
Синтаксис: boolean condition
Локальные переменные: T entity - заявка - "кандидат" на извлечение из контейнера.
TContainer container - заявка-контейнер.
Значение по умолчанию: true (из контейнера будут извлекаться все заявки)
- Количество [динамический]
- [Виден, если у параметра Оставлять выбрана опция Заданное количество (если доступно)]
Выражение, возвращающее количество заявок, которое должно быть
извлечено из заявки-контейнера (если в нем будет содержаться такое
количество заявок).
Синтаксис: int
quantity
Локальная переменная: TContainer container - заявка-контейнер.
Значение по умолчанию: 1
- Действие при входе [динамический]
- Код, выполняемый, когда заявка-контейнер поступает в объект.
Синтаксис: void onEnter
Локальная переменная: TContainer container - заявка-контейнер.
- Действие при оставлении [динамический]
- Код, выполняемый для каждой заявки, извлекаемой из контейнера.
Синтаксис: void onDropoff
Локальные переменные: T entity - извлеченная из контейнера заявка.
TContainer container - заявка-контейнер.
- Действие при выходе [динамический]
- Код, выполняемый, когда заявка-контейнер покидает объект.
Синтаксис: void onExit
Локальная переменная: TContainer container - заявка-контейнер.