RestrictedAreaStart

Обозначает вход в область процесса, в которой одновременно может находиться ограниченное количество заявок. Такая область может иметь только один вход и сразу несколько выходов, каждый из которых должен быть задан объектом RestrictedAreaEnd, который должен содержать ссылку на соответствующий объект входа в область RestrictedAreaStart, чтобы иметь представление о том, какой участок этот объект завершает (см. картинку внизу). С помощью этих объектов Вы можете ограничить число заявок, проходящих через какой-то участок моделируемого процесса. Максимальное количество заявок, которое может одновременно находиться в области, задается параметром объекта Вместимость (макс. допустимая). Заявки принимаются только до тех пор, пока это количество не будет достигнуто. После этого новые заявки смогут войти в область только тогда, когда какие-нибудь заявки эту область покинут.

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

Пожалуйста, обратите внимание, что если заявки будут покидать область не через объект RestrictedAreaEnd (например, если Вы будете извлекать их из потока программно), то объект RestrictedAreaStart не заметит их ухода и будет продолжать считать, что эти заявки находятся внутри области, что может привести к тому, что вход в область будет заблокирован раз и навсегда.

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

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

Вложенные объекты

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

Порты

Port in
Входной порт.
Port out
Выходной порт.

Параметры

Вместимость (макс. допустимая)
Максимально допустимое количество заявок, которое может одновременно находиться в области, задаваемой этим объектом.
Синтаксис: int capacity
Значение по умолчанию: 10
Действие при входе [динамический]
Код, выполняемый при поступлении заявки в объект.
Синтаксис: void onEnter
Локальная переменная: Т еntity - заявка.

Функции

int entitiesInside() - возвращает количество заявок, находящихся в данный момент времени в области.

boolean isBlocked()- возвращает true, если вход в область заблокирован, и false - если нет.