Class InitialChargeOperation

java.lang.Object
org.kigalisim.lang.operation.InitialChargeOperation
All Implemented Interfaces:
Operation

public class InitialChargeOperation extends Object implements Operation
Operation that sets an initial charge value for a stream in the engine.

This operation calculates a value and sets it as an initial charge for a specified stream in the engine. It can optionally be limited to a specific time period using a ParsedDuring object.

  • Constructor Details

    • InitialChargeOperation

      public InitialChargeOperation(String stream, Operation valueOperation)
      Create a new InitialChargeOperation that applies to all years.
      Parameters:
      stream - The name of the stream for which to set the initial charge.
      valueOperation - The operation that calculates the value to set.
    • InitialChargeOperation

      public InitialChargeOperation(String stream, Operation valueOperation, ParsedDuring during)
      Create a new InitialChargeOperation that applies to a specific time period.
      Parameters:
      stream - The name of the stream for which to set the initial charge.
      valueOperation - The operation that calculates the value to set.
      during - The time period during which this operation applies.
  • Method Details

    • execute

      public void execute(PushDownMachine machine)
      Execute the calculation and leave the result at the top of the stack.
      Specified by:
      execute in interface Operation
      Parameters:
      machine - The machine in which to execute the calculation if needed.