Class RecalcOperationBuilder

java.lang.Object
org.kigalisim.engine.recalc.RecalcOperationBuilder

public class RecalcOperationBuilder extends Object
Builder for creating RecalcOperation instances with fluent interface.
  • Constructor Details

    • RecalcOperationBuilder

      public RecalcOperationBuilder()
      Create a new RecalcOperationBuilder.
  • Method Details

    • setScopeEffective

      public RecalcOperationBuilder setScopeEffective(UseKey scope)
      Set the scope for all recalculation operations.
      Parameters:
      scope - The scope to use for calculations
      Returns:
      This builder for method chaining
    • setUseExplicitRecharge

      public RecalcOperationBuilder setUseExplicitRecharge(Boolean useExplicitRecharge)
      Set whether to use explicit recharge in population calculations.
      Parameters:
      useExplicitRecharge - Whether to use explicit recharge
      Returns:
      This builder for method chaining
    • setRecalcKit

      public RecalcOperationBuilder setRecalcKit(RecalcKit recalcKit)
      Set the RecalcKit containing dependencies for recalculation operations.
      Parameters:
      recalcKit - The recalc kit to use
      Returns:
      This builder for method chaining
    • recalcPopulationChange

      public RecalcOperationBuilder recalcPopulationChange()
      Add population change recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • recalcConsumption

      public RecalcOperationBuilder recalcConsumption()
      Add consumption recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • recalcSales

      public RecalcOperationBuilder recalcSales()
      Add sales recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • recalcRechargeEmissions

      public RecalcOperationBuilder recalcRechargeEmissions()
      Add recharge emissions recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • recalcEolEmissions

      public RecalcOperationBuilder recalcEolEmissions()
      Add end-of-life emissions recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • recalcRetire

      public RecalcOperationBuilder recalcRetire()
      Add retirement recalculation to the operation sequence.
      Returns:
      This builder for method chaining
    • thenPropagateToPopulationChange

      public RecalcOperationBuilder thenPropagateToPopulationChange()
      Propagate changes to population calculation.
      Returns:
      This builder for method chaining
    • thenPropagateToConsumption

      public RecalcOperationBuilder thenPropagateToConsumption()
      Propagate changes to consumption calculation.
      Returns:
      This builder for method chaining
    • thenPropagateToSales

      public RecalcOperationBuilder thenPropagateToSales()
      Propagate changes to sales calculation.
      Returns:
      This builder for method chaining
    • thenPropagateToRechargeEmissions

      public RecalcOperationBuilder thenPropagateToRechargeEmissions()
      Propagate changes to recharge emissions calculation.
      Returns:
      This builder for method chaining
    • thenPropagateToEolEmissions

      public RecalcOperationBuilder thenPropagateToEolEmissions()
      Propagate changes to end-of-life emissions calculation.
      Returns:
      This builder for method chaining
    • thenPropagateToRetire

      public RecalcOperationBuilder thenPropagateToRetire()
      Propagate changes to retirement calculation.
      Returns:
      This builder for method chaining
    • build

      public RecalcOperation build()
      Build the RecalcOperation from the configured strategies.
      Returns:
      A RecalcOperation containing all configured strategies
      Throws:
      IllegalStateException - if no strategies have been configured or RecalcKit not provided