ConveyorRequest

inner class ConveyorRequest(val entity: ProcessModel.Entity, val numCellsNeeded: Int, val entryLocation: IdentityIfc, val accessResumePriority: Int) : ModelElement.QObject, ConveyorRequestIfc

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(entity: ProcessModel.Entity, numCellsNeeded: Int, entryLocation: IdentityIfc, accessResumePriority: Int)

Properties

Link copied to clipboard
open override val accessResumePriority: Int

Can be used when the entity is resumed

Link copied to clipboard

A reference to an object that can be attached to the QObject when queued

Link copied to clipboard
open override val conveyor: Conveyor

The conveyor the entity is using

Link copied to clipboard
override val createTime: Double

The time that the QObject was created

Link copied to clipboard
open override var currentLocation: IdentityIfc

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

Link copied to clipboard

The receiver that last received the qObject

Link copied to clipboard
override val currentTime: Double

The current simulation time. Attached to the queue object for convenience of checking time outside of model element instances.

Link copied to clipboard
open override var destination: IdentityIfc?

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

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

The entity that needs to use the conveyor

Link copied to clipboard
Link copied to clipboard
open override val entryLocation: IdentityIfc

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
override val id: Long

Gets a uniquely assigned identifier for this QObject. This identifier is assigned when the QObject is created. It may vary if the order of creation changes.

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
override val isNotQueued: Boolean
Link copied to clipboard
override val isQueued: Boolean

Checks if the QObject is queued

Link copied to clipboard
open override val isRiding: Boolean
Link copied to clipboard
open override val isWaitingForEntry: Boolean
Link copied to clipboard
override val name: String

The name of the QObject

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

While riding this is the location where the entity is heading

Link copied to clipboard
override var priority: Int

Sets the priority to the supplied value If the QObject is queued, the queue's changePriority() method is called (possibly causing a reordering of the queue) which may cause significant reordering overhead otherwise the priority is directly changed Changing this value only changes how the QObjects are compared and may or may not change how they are ordered in the queue, depending on the queue discipline used

Link copied to clipboard
open override var qObjectType: Int

A generic attribute to indicate a type for the QObject

Link copied to clipboard
var queue: Queue<*>?

The current queue that the QObject is in, null if not in a queue

Link copied to clipboard

This method can be used to get direct access to the State that represents when the object was queued. This allows access to the total time in the queued state as well as other statistical accumulation of state statistics

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 sender: QObjectSenderIfc?

Something that knows how to send qObjects to receivers

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

The time that the QObject was LAST enqueued

Link copied to clipboard
override val timeExitedQueue: Double

The time that the QObject LAST exited a queue

Link copied to clipboard
override val timeInQueue: Double

The time that the QObject spent in the Queue based on the LAST time dequeued

Link copied to clipboard

can be used to time stamp the qObject

Link copied to clipboard
open override var valueObject: GetValueIfc?

Allows for a generic value to be held by the QObject

Functions

Link copied to clipboard
open operator override fun compareTo(other: ModelElement.QObject): Int

Returns a negative integer, zero, or a positive integer if this object is less than, equal to, or greater than the specified object.

Link copied to clipboard
fun sender(sender: QObjectSenderIfc?)

Facilitates SAM setting with a lambda

Link copied to clipboard
open override fun toString(): String
Link copied to clipboard

Facilitates SAM setting with a lambda