Class DefaultRuleCompilerSpliterator<T extends SourceRuleModel>
- java.lang.Object
-
- de.hybris.platform.ruleengineservices.maintenance.impl.DefaultRuleCompilerSpliterator<T>
-
- All Implemented Interfaces:
RuleCompilerSpliterator<T>
public class DefaultRuleCompilerSpliterator<T extends SourceRuleModel> extends java.lang.Object implements RuleCompilerSpliterator<T>
Default implementation of theRuleCompilerSpliteratorforSourceRuleModelrules
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classDefaultRuleCompilerSpliterator.JobProvider
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description RuleCompilerFuturecompileRulesAsync(java.util.List<T> rules, java.lang.String moduleName)split and compile multiple rules in parallelRuleCompilerResultcompileSingleRule(T rule, java.lang.String moduleName)compile the single ruleprotected RuleCompilerFuturecreateNewRuleCompilerFuture(java.util.Set<java.lang.Thread> workers)protected java.lang.ThreadcreateNewWorker(java.util.List<T> rules, java.lang.String moduleName, java.util.List<RuleCompilerResult> ruleCompilerResults)protected java.util.List<java.util.List<T>>splitRules(java.util.List<T> rules)protected voidstartWorkers(java.util.Set<java.lang.Thread> workers)
-
-
-
Method Detail
-
compileSingleRule
public RuleCompilerResult compileSingleRule(T rule, java.lang.String moduleName)
Description copied from interface:RuleCompilerSpliteratorcompile the single rule- Specified by:
compileSingleRulein interfaceRuleCompilerSpliterator<T extends SourceRuleModel>- Parameters:
rule- the instance ofAbstractRuleModelto compilemoduleName- rules module name- Returns:
- instance of
RuleCompilerResult
-
compileRulesAsync
public RuleCompilerFuture compileRulesAsync(java.util.List<T> rules, java.lang.String moduleName)
Description copied from interface:RuleCompilerSpliteratorsplit and compile multiple rules in parallel- Specified by:
compileRulesAsyncin interfaceRuleCompilerSpliterator<T extends SourceRuleModel>- Parameters:
rules- a list ofAbstractRuleModelto compilemoduleName- rules module name- Returns:
- instance of
RuleCompilerFuture
-
createNewWorker
protected java.lang.Thread createNewWorker(java.util.List<T> rules, java.lang.String moduleName, java.util.List<RuleCompilerResult> ruleCompilerResults)
-
startWorkers
protected void startWorkers(java.util.Set<java.lang.Thread> workers)
-
createNewRuleCompilerFuture
protected RuleCompilerFuture createNewRuleCompilerFuture(java.util.Set<java.lang.Thread> workers)
-
-