Package org.kigalisim.lang.operation
Class CapOperation
java.lang.Object
org.kigalisim.lang.operation.CapOperation
- All Implemented Interfaces:
Operation
Operation that caps a stream value to a specified maximum and optionally displaces the excess.
This operation calculates a value and caps a specified stream in the engine to that maximum. 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
ConstructorsConstructorDescriptionCapOperation(String stream, Operation valueOperation) Create a new CapOperation that applies to all years.CapOperation(String stream, Operation valueOperation, String displaceTarget) Create a new CapOperation that applies to all years with displacement.CapOperation(String stream, Operation valueOperation, String displaceTarget, DisplacementType displacementType) Create a new CapOperation that applies to all years with displacement and displacement type.CapOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new CapOperation that applies to a specific time period with displacement.CapOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during, DisplacementType displacementType) Create a new CapOperation that applies to a specific time period with displacement and displacement type.CapOperation(String stream, Operation valueOperation, ParsedDuring during) Create a new CapOperation 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
-
CapOperation
Create a new CapOperation that applies to all years.- Parameters:
stream- The name of the stream to cap.valueOperation- The operation that calculates the maximum value.
-
CapOperation
Create a new CapOperation that applies to all years with displacement.- 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.
-
CapOperation
public CapOperation(String stream, Operation valueOperation, String displaceTarget, DisplacementType displacementType) Create a new CapOperation that applies to all years with displacement and displacement type.- 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.displacementType- The type of displacement to use.
-
CapOperation
Create a new CapOperation that applies to a specific time period.- Parameters:
stream- The name of the stream to cap.valueOperation- The operation that calculates the maximum value.during- The time period during which this operation applies.
-
CapOperation
public CapOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during) Create a new CapOperation that applies to a specific time period with displacement.- 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.
-
CapOperation
public CapOperation(String stream, Operation valueOperation, String displaceTarget, ParsedDuring during, DisplacementType displacementType) Create a new CapOperation that applies to a specific time period with displacement and displacement type.- 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.displacementType- The type of displacement to use.
-
-
Method Details