Class LivePriceGridAction<T extends Help>
- All Implemented Interfaces:
Help
Obtain it with CalculationFlowActionBuilder.addLivePriceGridAction(String). The action calculates the LPG
that has this label and is valid at the target date of the Calculation Flow, unless
ignoreTargetDate(Boolean) is set. It starts the job only when the logic calls setCalculate(true).
If no LPG matches the label, no job starts and the Calculation Flow does not report an error. An LPG that belongs to
another object is skipped, because only the calculation of that object can calculate it.
Example, recalculating two products only:
actionBuilder.addLivePriceGridAction('LPG 1')
.restrictToSkus(['MB-0001', 'MB-0002'])
.setCalculate(true)
- See Also:
-
Field Summary
Fields inherited from class Action
jobs -
Constructor Summary
ConstructorsConstructorDescriptionLivePriceGridAction(T backLink, Invocations<MethodInvocationRecord> invocations, String livePriceGridLabel) Not intended for public use. -
Method Summary
Modifier and TypeMethodDescriptionback()Returns the builder that added this action, so that the logic can add the next action in the same chain.Gets whether this action starts the calculation of the LPG.intGets the threshold set withsetDistributedCalculationThreshold(int).Gets the parameters set withwithFormulaParameters(HashMap).Gets whether the action also considers LPGs that are not yet valid.Gets the label of the LPG that this action calculates.Gets the follow-on jobs set withsetNextJobs(List).Not intended for public use.intGets the priority set withsetPriority(int).Gets the SKUs set withrestrictToSkus(List).ignoreTargetDate(Boolean ignore) Sets whether the action also considers LPGs that are not yet valid at the target date of the Calculation Flow.restrictToSkus(List<String> skus) Restricts LPG calculation to a list of specified SKUs.setCalculate(Boolean calculate) Whether the action is valid and should be triggered or not.setDistributedCalculationThreshold(int threshold) Sets a job-individual threshold to start a distributed calculation.setNextJobs(List<ChainedJobInfo> jobs) Defines subsequent follow-on jobs.setPriority(int priority) Sets the priority of the calculation job that this action starts.toString()Returns a text representation of this action for debugging.withFormulaParameters(HashMap<String, Object> formulaParameters) Allows you to add parameters entering to the calculation.
-
Constructor Details
-
LivePriceGridAction
public LivePriceGridAction(T backLink, Invocations<MethodInvocationRecord> invocations, String livePriceGridLabel) Not intended for public use. An action created with this constructor is not added to the Calculation Flow, so it never runs. UseactionBuilder.addLivePriceGridAction()instead.- See Also:
-
-
Method Details
-
setCalculate
Whether the action is valid and should be triggered or not.- Parameters:
calculate-- true - calculation of the LPG is started as background process
- false - calculation of the LPG is NOT started at all
- Returns:
- this action, for further configuration
-
setPriority
Sets the priority of the calculation job that this action starts. A value outside the range from 0 to 9 is replaced with 0.- Parameters:
priority- Default is 0 (lowest user-definable priority). Max value is 9.- Returns:
- this action, for further configuration
-
setDistributedCalculationThreshold
Sets a job-individual threshold to start a distributed calculation. Please note: Any values below 1000 may very well be counter-productive and make the job slower!If you do not set it, or set 0, the job uses the threshold of the partition.
- Parameters:
threshold- The number of items that need to be part of the job in order to execute it in distributed mode.- Returns:
- this action, for further configuration
-
restrictToSkus
Restricts LPG calculation to a list of specified SKUs. If you do not call this method, or pass an empty list, all items are calculated. Passingnulldoes not clear a list set by an earlier call.The recalculation of the listed items behaves like the calculation of a single item in the LPG.
- Parameters:
skus- list of SKUs to process- Returns:
- this action, for further configuration
- See Also:
-
withFormulaParameters
Allows you to add parameters entering to the calculation.The logic of the LPG reads each value as an input, for example
input.amount. A later call replaces the parameters of an earlier call. A parameter namedtargetDateand parameters with anullvalue are ignored.Example:
actionBuilder.addLivePriceGridAction('LPG 1') .withFormulaParameters([amount: 42, city: 'New York']) .setCalculate(true)- Parameters:
formulaParameters- Parameters as key and value pairs.- Returns:
- this action, for further configuration
-
back
Returns the builder that added this action, so that the logic can add the next action in the same chain.- Returns:
- the
actionBuilderthat added this action - See Also:
-
setNextJobs
Defines subsequent follow-on jobs. A next job starts when the calculation job of this action has finished. If that job fails, a next job starts only when itsexecuteOnErroristrue. Each next job can have next jobs of its own.Example:
import net.pricefx.common.dto.ChainedJobInfo def nextJob = new ChainedJobInfo() nextJob.setTargetObject('38.CFS') nextJob.setExecuteOnError(false) actionBuilder.addLivePriceGridAction('LPG 1') .setNextJobs([nextJob]) .setCalculate(true)- Parameters:
jobs- List of ChainedJobInfo objects- Returns:
- this action, for further configuration
- See Also:
-
ignoreTargetDate
Sets whether the action also considers LPGs that are not yet valid at the target date of the Calculation Flow. Withtrue, the action takes the LPG with this label that has the latest target date.- Parameters:
ignore- Default is false (CF job will ignore LPG that is not yet valid).- Returns:
- this action, for further configuration
-
getObjectName
Not intended for public use.- Returns:
- the name of the builder that added this action, followed by
".LivePriceGridAction"
-
getLivePriceGridLabel
Gets the label of the LPG that this action calculates.- Returns:
- the label passed to
CalculationFlowActionBuilder.addLivePriceGridAction(String)
-
getCalculate
Gets whether this action starts the calculation of the LPG.- Returns:
trueaftersetCalculate(true), otherwisefalse- See Also:
-
getRestrictToSkus
Gets the SKUs set withrestrictToSkus(List).- Returns:
- the SKUs, an empty list if the calculation is not restricted
-
getFormulaParameters
Gets the parameters set withwithFormulaParameters(HashMap).- Returns:
- the parameters, an empty map if none were set
-
getPriority
public int getPriority()Gets the priority set withsetPriority(int).- Returns:
- the priority, 0 if it was not set
-
getDistributedCalculationThreshold
public int getDistributedCalculationThreshold()Gets the threshold set withsetDistributedCalculationThreshold(int).- Returns:
- the threshold, 0 if it was not set
-
getNextJobs
Gets the follow-on jobs set withsetNextJobs(List).- Returns:
- the follow-on jobs
-
getIgnoreTargetDate
Gets whether the action also considers LPGs that are not yet valid.- Returns:
trueafterignoreTargetDate(true), otherwisefalse- See Also:
-
toString
Returns a text representation of this action for debugging.
-