Package org.jeasy.rules.core
Class InferenceRulesEngine
- java.lang.Object
-
- org.jeasy.rules.core.AbstractRulesEngine
-
- org.jeasy.rules.core.InferenceRulesEngine
-
- All Implemented Interfaces:
RulesEngine
public final class InferenceRulesEngine extends AbstractRulesEngine
InferenceRulesEngine
implementation.Rules are selected based on given facts and fired according to their natural order which is priority by default. This implementation continuously selects and fires rules until no more rules are applicable.
- Author:
- Mahmoud Ben Hassine ([email protected])
-
-
Constructor Summary
Constructors Constructor Description InferenceRulesEngine()
Create a new inference rules engine with default parameters.InferenceRulesEngine(RulesEngineParameters parameters)
Create a new inference rules engine.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Map<Rule,Boolean>
check(Rules rules, Facts facts)
Check rules without firing them.void
fire(Rules rules, Facts facts)
Fire all registered rules on given facts.void
registerRuleListener(RuleListener ruleListener)
Register a rule listener.void
registerRuleListeners(List<RuleListener> ruleListeners)
Register a list of rule listener.void
registerRulesEngineListener(RulesEngineListener rulesEngineListener)
Register a rules engine listener.void
registerRulesEngineListeners(List<RulesEngineListener> rulesEngineListeners)
Register a list of rules engine listener.-
Methods inherited from class org.jeasy.rules.core.AbstractRulesEngine
getParameters, getRuleListeners, getRulesEngineListeners
-
-
-
-
Constructor Detail
-
InferenceRulesEngine
public InferenceRulesEngine()
Create a new inference rules engine with default parameters.
-
InferenceRulesEngine
public InferenceRulesEngine(RulesEngineParameters parameters)
Create a new inference rules engine.- Parameters:
parameters
- of the engine
-
-
Method Detail
-
fire
public void fire(Rules rules, Facts facts)
Description copied from interface:RulesEngine
Fire all registered rules on given facts.
-
check
public Map<Rule,Boolean> check(Rules rules, Facts facts)
Description copied from interface:RulesEngine
Check rules without firing them.- Returns:
- a map with the result of evaluation of each rule
-
registerRuleListener
public void registerRuleListener(RuleListener ruleListener)
Register a rule listener.- Overrides:
registerRuleListener
in classAbstractRulesEngine
- Parameters:
ruleListener
- to register
-
registerRuleListeners
public void registerRuleListeners(List<RuleListener> ruleListeners)
Register a list of rule listener.- Overrides:
registerRuleListeners
in classAbstractRulesEngine
- Parameters:
ruleListeners
- to register
-
registerRulesEngineListener
public void registerRulesEngineListener(RulesEngineListener rulesEngineListener)
Register a rules engine listener.- Overrides:
registerRulesEngineListener
in classAbstractRulesEngine
- Parameters:
rulesEngineListener
- to register
-
registerRulesEngineListeners
public void registerRulesEngineListeners(List<RulesEngineListener> rulesEngineListeners)
Register a list of rules engine listener.- Overrides:
registerRulesEngineListeners
in classAbstractRulesEngine
- Parameters:
rulesEngineListeners
- to register
-
-