WarehouseAbstract

abstract class WarehouseAbstract @JvmOverloads constructor(parent: ModelElement, initialAvailability: Boolean = true, name: String? = null) : OrderFillerAbstract, OrderSenderIfc(source)

Abstract base for a warehouse that fills incoming orders by routing each demand on the order to a per-item-type inventory. Replenishment orders are sent outward via replenishmentOrderFiller or replenishmentOrderFillerFinder.

Concrete subclasses implement fill (queue or process the order), orderFilled (post-fill shipping), and replenishmentOrderDelivered (cascade delivery to demands on a replenishment order).

See sc.inventorylayer.WarehouseAbstract

Inheritors

Constructors

Link copied to clipboard
constructor(parent: ModelElement, initialAvailability: Boolean = true, name: String? = null)

Properties

Link copied to clipboard

Optional hook for individual filled demands inside an order.

Link copied to clipboard

Optional shipper for filled orders.

Link copied to clipboard

Whether outgoing replenishment orders allow backlogging.

Link copied to clipboard

Read-only view of the replenishment-order counter.

Link copied to clipboard

Direct order filler for replenishment orders.

Link copied to clipboard

Finder for replenishment order fillers.

Link copied to clipboard

Optional replenishment requester. If set, requestReplenishment delegates entirely to it; otherwise the default behavior is to build a single-demand order and dispatch.

Functions

Link copied to clipboard

Registers a per-demand listener on every demand of order that fires when the demand reaches FILLED. Replaces Java's order.setDemandOnOrderFilledListener.

Link copied to clipboard

Hooks the warehouse's filled-order listener onto order.

Link copied to clipboard
open override fun canFillItemType(demand: SupplyChainModel.Demand): Boolean

True if this filler can fill the item type of demand.

Link copied to clipboard
protected open fun demandOnOrderFilled(demand: SupplyChainModel.Demand)

Default hook for individual filled demands inside an order. Overridden by subclasses or via demandOnOrderFilledHook.

Link copied to clipboard
abstract override fun fill(order: SupplyChainModel.Order)

Fill a previously received order. Must be called at the same simulation time as the receipt.

Link copied to clipboard

Returns an OrderMessageIfc describing what would happen if order were sent now, or null if negotiation is not supported.

Link copied to clipboard
protected abstract fun orderFilled(order: SupplyChainModel.Order)

Subclass hook fired when an incoming order reaches FILLED.

Link copied to clipboard

Subclass hook fired when an outgoing replenishment order is delivered.

Link copied to clipboard

Default behavior on a received replenishment order is to ask the filler to fill it.

Link copied to clipboard

Default rejection behavior for replenishment orders is to throw.

Link copied to clipboard

Used as a ReplenishmentRequesterIfc for held inventories. Packages the single replenishment demand into an order and dispatches it through the configured replenishment filler/finder.