Package org.kigalisim.lang.operation
Class CapDisplacingOperation
java.lang.Object
org.kigalisim.lang.operation.CapDisplacingOperation
- All Implemented Interfaces:
Operation
Operation that caps a stream value to a specified maximum and displaces the excess.
This operation calculates a value and caps a specified stream in the engine to that maximum. The excess is displaced to another stream. It can optionally be limited to a specific time period using a ParsedDuring object.
-
Constructor Summary
ConstructorsConstructorDescriptionCapDisplacingOperation(String stream, Operation valueOperation, String displaceTarget) Create a new CapDisplacingOperation that applies to all years.CapDisplacingOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new CapDisplacingOperation that applies to a specific time period. -
Method Summary
Modifier and TypeMethodDescriptionvoidexecute(PushDownMachine machine) Execute the calculation and leave the result at the top of the stack.
-
Constructor Details
-
CapDisplacingOperation
Create a new CapDisplacingOperation that applies to all years.- Parameters:
stream- The name of the stream to cap.valueOperation- The operation that calculates the maximum value.displaceTarget- The name of the stream to displace excess to.
-
CapDisplacingOperation
public CapDisplacingOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new CapDisplacingOperation that applies to a specific time period.- Parameters:
stream- The name of the stream to cap.valueOperation- The operation that calculates the maximum value.displaceTarget- The name of the stream to displace excess to.during- The time period during which this operation applies.
-
-
Method Details