Package com.helixframework.rules
Class RuleEngine
java.lang.Object
com.helixframework.rules.RuleEngine
Rule engine that executes collections of rules.
-
Constructor Summary
ConstructorsConstructorDescriptionRuleEngine(Rule... rules) Creates a new instance ofRuleEngine.RuleEngine(String name, Rule... rules) Creates a new instance ofRuleEngine.RuleEngine(String name, Set<Rule> rules) Creates a new instance ofRuleEngine.Creates a new instance ofRuleEnginethat filters the supplied rule set by the specified filter before executing the rules.Creates a new instance ofRuleEngine.RuleEngine(Set<Rule> rules) Creates a new instance ofRuleEngine.RuleEngine(Set<Rule> rules, Predicate<Rule>... filters) Creates a new instance ofRuleEnginethat filters the supplied rule set by the specified filter before executing the rules. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd a rule to the rules engine.voidAdd rules to the rules engine.voidAdd rules to the rules engine.voidexecute(RuleContext<?> ctx) Executes the all rules against the supplied rule context.voidexecute(RuleContext<?> ctx, String ruleName) Executes a specific rule, by name, and its dependent rules on the supplied rule context.<T> BooleanexecuteBoolean(RuleContext<T> ctx) Executes a collection of boolean rules and returns the boolean result of all rules.<T> BooleanexecuteBoolean(RuleContext<T> ctx, String ruleName) Executes a boolean rule and returns the boolean result.executeMap(RuleContext<?> ctx) Executes all rules against the supplied context and returns a map with the result of each rule execution.executeMap(RuleContext<?> ctx, String ruleName) Executes a specific rule, by name, and its dependent rules on the supplied rule context and returns a map with the resule of each rule execution.getName()Gets the name of the rules engine.getRules()Gets an unmodifiable collection of the rules.<T> Optional<T>Gets a tag on the rules engine.getTags()Gets the tags on the rules engine.
-
Constructor Details
-
RuleEngine
Creates a new instance ofRuleEngine.- Parameters:
rules- rules collection
-
RuleEngine
Creates a new instance ofRuleEngine.- Parameters:
name- rule engine namerules- rules collection
-
RuleEngine
Creates a new instance ofRuleEngine.- Parameters:
rules- rules collection
-
RuleEngine
Creates a new instance ofRuleEngine.- Parameters:
name- rule engine namerules- rules collection
-
RuleEngine
Creates a new instance ofRuleEnginethat filters the supplied rule set by the specified filter before executing the rules.- Parameters:
rules- rules collectionfilters- filter to select which rules to execute
-
RuleEngine
Creates a new instance ofRuleEnginethat filters the supplied rule set by the specified filter before executing the rules.- Parameters:
name- rule engine namerules- rules collectionfilters- filter to select which rules to execute
-
RuleEngine
Creates a new instance ofRuleEngine.- Parameters:
name- rule engine namerules- rules collectiontags- rule engine tags
-
-
Method Details
-
execute
Executes the all rules against the supplied rule context.- Parameters:
ctx- rule context
-
execute
Executes a specific rule, by name, and its dependent rules on the supplied rule context.- Parameters:
ctx- rule contextruleName- name of rule to execute
-
executeMap
Executes all rules against the supplied context and returns a map with the result of each rule execution.- Parameters:
ctx- rule context- Returns:
- rule result
-
executeMap
Executes a specific rule, by name, and its dependent rules on the supplied rule context and returns a map with the resule of each rule execution.- Parameters:
ctx- rule contextruleName- name of rule to execute- Returns:
- a map of keys and results
-
executeBoolean
Executes a collection of boolean rules and returns the boolean result of all rules. (i.e. if all rules evaluate true then returntrue; otherwisefalse)- Type Parameters:
T- rule context type- Parameters:
ctx- rule context- Returns:
trueif all rules evaluate true; otherwisefalse
-
executeBoolean
Executes a boolean rule and returns the boolean result.- Type Parameters:
T- rule context type- Parameters:
ctx- rule contextruleName- name of rule to execute- Returns:
trueif all rules evaluate true; otherwisefalse
-
addRule
Add a rule to the rules engine.- Parameters:
rule- rule to add
-
addRules
Add rules to the rules engine.- Parameters:
rules- rules to add
-
addRules
Add rules to the rules engine.- Parameters:
rules- rules to add
-
getRules
Gets an unmodifiable collection of the rules.- Returns:
- an unmodifiable collection of rules
-
getTag
Gets a tag on the rules engine.- Type Parameters:
T- tag type- Parameters:
name- tag nametagType- tag type- Returns:
- optional tag value
-
getName
Gets the name of the rules engine.- Returns:
- rules engine name
-
getTags
Gets the tags on the rules engine.- Returns:
- tags
-