Lead Time Demand Filler
Concrete DemandFillerAbstract that fills demands after a per-item-type lead-time delay. Once filled, demands are either handed to the inherited demandCarrier (if set) or immediately transition through ship and deliver with no delay.
Lead-time distributions are registered via addLeadTime; each distribution becomes a RandomVariable child of this filler.
Parameters
the parent model element (typically a SupplyChainModel)
optional model-element name
See sc.inventorylayer.LeadTimeDemandFiller
Inheritors
Types
Protected so subclasses (e.g., LeadTimeOrderFiller.InnerDemandFiller) can call its schedule from their own fillDemand override.
Properties
All item types this filler is willing to fill.
Aggregate "lead time observed" tally.
Aggregate "number in process" across all item types.
Per-item-type "lead time observed" tally.
Lead-time random variables keyed by item type. LinkedHashMap preserves insertion order (porting plan §4.3 — Java used HashMap).
Per-item-type "number currently in process" time-weighted statistic.
Functions
Register or replace the lead-time distribution for itemType. Re-registering an existing item type updates the underlying RandomVariable's initialRandomSource (preserving statistic identity); a new item type creates fresh RandomVariable / TWResponse / Response children of this filler.
Hook for subclasses. Called after demand reaches the filled state via this filler's lead-time event. Default behavior is shipDemand.
The status demand would receive if filled now. Only valid at the current simulation time.
Fill a previously received demand. Must be called at the same simulation time as the receipt — no time may elapse between receive and fillDemand.
Returns the underlying random source for itemType, or null.
Returns a DemandMessageIfc describing what would happen if demand were sent now, or null if negotiation is not supported.
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.
Remove itemType from this filler. Best invoked between replications: if a fill event is in flight for this item type it is not cancelled. Matches Java behavior.
Hand demand to the configured demandCarrier, or — if no carrier is set — transition directly through ship -> deliver with no delay.
True if demand would be rejected if filled now.