Class SimulationStateUpdateBuilder

java.lang.Object
org.kigalisim.engine.state.SimulationStateUpdateBuilder

public final class SimulationStateUpdateBuilder extends Object
Builder for creating SimulationStateUpdate instances.

Provides a fluent interface for constructing SimulationStateUpdate objects with validation and sensible defaults.

  • Constructor Details

    • SimulationStateUpdateBuilder

      public SimulationStateUpdateBuilder()
      Creates a new SimulationStateUpdateBuilder with default values.
  • Method Details

    • setUseKey

      public SimulationStateUpdateBuilder setUseKey(UseKey useKey)
      Sets the use key containing application and substance.
      Parameters:
      useKey - the use key
      Returns:
      this builder
    • setName

      public SimulationStateUpdateBuilder setName(String name)
      Sets the stream name.
      Parameters:
      name - the stream name
      Returns:
      this builder
    • setValue

      public SimulationStateUpdateBuilder setValue(EngineNumber value)
      Sets the pre-computed stream value.
      Parameters:
      value - the stream value
      Returns:
      this builder
    • setSubtractRecycling

      public SimulationStateUpdateBuilder setSubtractRecycling(boolean subtractRecycling)
      Sets whether to subtract recycling from the value.
      Parameters:
      subtractRecycling - whether to subtract recycling
      Returns:
      this builder
    • setDistribution

      public SimulationStateUpdateBuilder setDistribution(SalesStreamDistribution distribution)
      Sets the pre-calculated distribution for sales streams.
      Parameters:
      distribution - the sales stream distribution
      Returns:
      this builder
    • clearDistribution

      public SimulationStateUpdateBuilder clearDistribution()
      Clears the distribution.
      Returns:
      this builder
    • setInvalidatePriorEquipment

      public SimulationStateUpdateBuilder setInvalidatePriorEquipment(boolean invalidatePriorEquipment)
      Sets whether this update should invalidate prior equipment cumulative bases.
      Parameters:
      invalidatePriorEquipment - true if this update should trigger base invalidation
      Returns:
      this builder
    • build

      public SimulationStateUpdate build()
      Builds the SimulationStateUpdate.
      Returns:
      the built SimulationStateUpdate
      Throws:
      IllegalStateException - if required fields are not set