j-easy / easy-rules

The simple, stupid rules engine for Java
https://github.com/j-easy/easy-rules/wiki
MIT License
4.86k stars 1.05k forks source link

DefaultRulesEngine it's too redundant in simple scenarios. #339

Open wellCh4n opened 3 years ago

wellCh4n commented 3 years ago

Why not add a simple engine, just execute conditions and actions. eg:

public void fire(Rules rules, Facts facts) {
    if (!rules.isEmpty()) {
        for (Rule rule : rules) {

            boolean evaluationResult;
            try {
                evaluationResult = rule.evaluate(facts);
                if (evaluationResult) {
                    rule.execute(facts);
                    if (this.parameters.isSkipOnFirstAppliedRule()) {
                        break;
                    }
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}