DemandFillerIfc

Objects that can fill demands. A successful receive moves the demand from SupplyChainModel.sent into SupplyChainModel.received; fillDemand then completes the fill.

See the legacy Java javadoc for the detailed rules around partial filling and backlogging.

See sc.inventorylayer.DemandFillerIfc

Inheritors

Properties

Link copied to clipboard

Carrier used to send filled demands to their destination.

Link copied to clipboard

Optional pre-shipment preparer.

Link copied to clipboard

All item types this filler is willing to fill.

Functions

Link copied to clipboard
abstract fun canFillItemType(type: ItemType): Boolean

True if this filler can fill demands of type.

True if this filler can fill demands of demand's item type.

Link copied to clipboard

The status demand would receive if filled now. Only valid at the current simulation time.

Link copied to clipboard
abstract fun fillDemand(demand: SupplyChainModel.Demand)

Fill a previously received demand. Must be called at the same simulation time as the receipt — no time may elapse between receive and fillDemand.

Link copied to clipboard

Returns a DemandMessageIfc describing what would happen if demand were sent now, or null if negotiation is not supported.

Link copied to clipboard
abstract fun receive(demand: SupplyChainModel.Demand)

Receive demand and place it in SupplyChainModel.received, or reject by transitioning to SupplyChainModel.rejected. The filler may set the demand's SupplyChainModel.Demand.status to indicate the rejection reason but is not required to.

Link copied to clipboard

True if demand would be rejected if filled now.