Class FloorDisplacingOperation
java.lang.Object
org.kigalisim.lang.operation.FloorDisplacingOperation
- All Implemented Interfaces:
Operation
Operation that floors a stream value to a specified minimum and displaces the excess.
This operation calculates a value and floors a specified stream in the engine to that minimum. The excess is displaced to another stream. It can optionally be limited to a specific time period using a ParsedDuring object.
-
Constructor Summary
ConstructorsConstructorDescriptionFloorDisplacingOperation(String stream, Operation valueOperation, String displaceTarget) Create a new FloorDisplacingOperation that applies to all years.FloorDisplacingOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new FloorDisplacingOperation 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.Get a record describing this operation's semantics.
-
Constructor Details
-
FloorDisplacingOperation
Create a new FloorDisplacingOperation that applies to all years.- Parameters:
stream- The name of the stream to floor.valueOperation- The operation that calculates the minimum value.displaceTarget- The name of the stream to displace excess to.
-
FloorDisplacingOperation
public FloorDisplacingOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new FloorDisplacingOperation that applies to a specific time period.- Parameters:
stream- The name of the stream to floor.valueOperation- The operation that calculates the minimum value.displaceTarget- The name of the stream to displace excess to.during- The time period during which this operation applies.
-
-
Method Details
-
execute
Execute the calculation and leave the result at the top of the stack. -
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:
getStaticSemanticsin interfaceOperation- Returns:
- Inference of common static properties found for this operation.
-