Package org.kigalisim.lang.operation
Class FloorOperation
java.lang.Object
org.kigalisim.lang.operation.FloorOperation
- All Implemented Interfaces:
Operation
Operation that floors a stream value to a specified minimum and optionally displaces the excess.
This operation calculates a value and floors a specified stream in the engine to that minimum. The excess can optionally be displaced to another stream. It can also optionally be limited to a specific time period using a ParsedDuring object.
-
Constructor Summary
ConstructorsConstructorDescriptionFloorOperation(String stream, Operation valueOperation) Create a new FloorOperation that applies to all years.FloorOperation(String stream, Operation valueOperation, String displaceTarget) Create a new FloorOperation that applies to all years with displacement.FloorOperation(String stream, Operation valueOperation, String displaceTarget, DisplacementType displacementType) Create a new FloorOperation that applies to all years with displacement and displacement type.FloorOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new FloorOperation that applies to a specific time period with displacement.FloorOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during, DisplacementType displacementType) Create a new FloorOperation that applies to a specific time period with displacement and displacement type.FloorOperation(String stream, Operation valueOperation, ParsedDuring during) Create a new FloorOperation 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 the displacement type.
-
Constructor Details
-
FloorOperation
Create a new FloorOperation that applies to all years.- Parameters:
stream- The name of the stream to floor.valueOperation- The operation that calculates the minimum value.
-
FloorOperation
Create a new FloorOperation that applies to all years with displacement.- 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.
-
FloorOperation
public FloorOperation(String stream, Operation valueOperation, String displaceTarget, DisplacementType displacementType) Create a new FloorOperation that applies to all years with displacement and displacement type.- 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.displacementType- The type of displacement to use.
-
FloorOperation
Create a new FloorOperation that applies to a specific time period.- Parameters:
stream- The name of the stream to floor.valueOperation- The operation that calculates the minimum value.during- The time period during which this operation applies.
-
FloorOperation
public FloorOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new FloorOperation that applies to a specific time period with displacement.- 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.
-
FloorOperation
public FloorOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during, DisplacementType displacementType) Create a new FloorOperation that applies to a specific time period with displacement and displacement type.- 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.displacementType- The type of displacement to use.
-
-
Method Details