ConveyorRequest

inner class ConveyorRequest(requestingEntity: ProcessModel.Entity, val numCellsNeeded: Int, val entryLocation: String, val accessResumePriority: Int) : ModelElement.QObject, ConveyorRequestIfc(source)

A conveyor request represents the holding of cells on a conveyor and acts as a "ticket" to use the conveyor. Once an entity has a conveyor request, the entity has control over the cells at the start of the segment associated with the entry location along the conveyor. After receiving a request to access the conveyor the entity can either ride on the conveyor or exit. The conveyor request blocks at the point of access until riding or exiting. The request is placed in the blocking entry state. When the entity asks to ride the conveyor then the request will be placed in the riding state. If the entity never rides the conveyor, then the request stays in the blocking entry state. The property isWaitingForEntry indicates that the conveyor request is waiting to be allowed to block the entry cell of the conveyor at its current location. Once the conveyor request is used to ride the conveyor, the isWaitingToConvey property will report false. The isBlockingEntry property will report true until the request begins riding. Once the request reaches its destination, the isBlockingExit property will be true and the request is in the blocking exit state. When the request exits the conveyor the isCompleted property is true and the request is in the completed state. Once in the completed state, the request can no longer be used for any interaction with the conveyor.

Constructors

Link copied to clipboard
constructor(requestingEntity: ProcessModel.Entity, numCellsNeeded: Int, entryLocation: String, accessResumePriority: Int)

Properties

Link copied to clipboard
open override val accessResumePriority: Int

Can be used when the entity is resumed

Link copied to clipboard
open override val conveyor: Conveyor

The conveyor the entity is using

Link copied to clipboard
open override var currentLocation: String

The current location of the entity. This is assigned when the entity arrives at the end of a segment

Link copied to clipboard
open override var destination: String?

The final location where the entity wants to visit on the conveyor

Link copied to clipboard
open override var entity: ProcessModel.Entity

The entity that needs to use the conveyor

Link copied to clipboard
open override val entryCell: Conveyor.Cell

The conveyor cell on which the item entered the conveyor

Link copied to clipboard
open override val entryLocation: String

The location where the entity first accessed the conveyor

Link copied to clipboard
open override val frontCell: Conveyor.Cell?

The cell that is occupied by the item that is the furthest forward (closest to the end) on the conveyor that the item is currently occupying. Null means that the item is not occupying any cells. An item may occupy 1 or more cells depending on the number of cells that it needs while riding on the conveyor. If the conveyor has 5 cells (1, 2, 3, 4, 5) and the item needs 2 cells and is occupying cells 2 and 3, then its front cell is 3.

Link copied to clipboard
open override val hasReachedAnExitCell: Boolean

True if the item has reached the last cell of the current segment

Link copied to clipboard
open override val hasReachedDestination: Boolean

True if the entity has reached its destination

Link copied to clipboard
open override val isBlockingEntry: Boolean
Link copied to clipboard
open override val isBlockingExit: Boolean
Link copied to clipboard
open override val isCompleted: Boolean
Link copied to clipboard
Link copied to clipboard
open override val isRiding: Boolean
Link copied to clipboard
open override val isWaitingForEntry: Boolean
Link copied to clipboard
open override val numCellsNeeded: Int

The number of cells needed when riding on the conveyor

Link copied to clipboard
open override val numCellsOccupied: Int

The number of cells currently occupied on the conveyor. This may be different from numCellsAllocated because an allocation does not need to convey. It can be used to block the conveyor at one of its entrance locations

Link copied to clipboard
open override val occupiesCells: Boolean

True if the item occupies cells. After exiting the conveyor the item does not occupy any cells

Link copied to clipboard
open override val rearCell: Conveyor.Cell?

The cell that is occupied by the item that is closest to the origin of the conveyor that the item is currently on. Null means that the item is not occupying any cells. An item may occupy 1 or more cells depending on the number of cells that it needs while riding on the conveyor. If the segment has 5 cells (1, 2, 3, 4, 5) and the item needs 2 cells and is occupying cells 2 and 3, then its rear cell is 2.

Link copied to clipboard
open override var status: Conveyor.ItemStatus