Class EnableOperation

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

public class EnableOperation extends Object implements Operation
Operation that enables a stream in the engine without setting a value.

This operation marks a stream as enabled, allowing it to be used in distribution calculations for operations like recharge, retire, and recover without having to set an actual value to the stream.

  • Constructor Details

    • EnableOperation

      public EnableOperation(String stream)
      Create a new EnableOperation that applies to all years.
      Parameters:
      stream - The name of the stream to enable.
    • EnableOperation

      public EnableOperation(String stream, ParsedDuring during)
      Create a new EnableOperation that applies to a specific time period.
      Parameters:
      stream - The name of the stream to enable.
      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.
    • getStaticSemantics

      public OperationStaticSemantics getStaticSemantics()
      Get a record describing this operation's semantics.

      Get a record describing this operation's semantics that are inferrable from its static expression in code. In other words, properties and effects which do not require inspection at time of executing the operation.

      Specified by:
      getStaticSemantics in interface Operation
      Returns:
      Inference of common static properties found for this operation.