From e53ab844ac2f88d22c5db9eb20e512ba4ef0ef2d Mon Sep 17 00:00:00 2001 From: benas Date: Fri, 22 Mar 2013 21:55:14 +0100 Subject: [PATCH] make parameter setter methods available in RulesEngine interface to be used by easy rules clients to configure the engine --- .../java/net/benas/easyrules/api/RulesEngine.java | 13 +++++++++++++ .../benas/easyrules/core/DefaultRulesEngine.java | 4 +++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/easyrules-core/src/main/java/net/benas/easyrules/api/RulesEngine.java b/easyrules-core/src/main/java/net/benas/easyrules/api/RulesEngine.java index 5fa62fb..7280054 100644 --- a/easyrules-core/src/main/java/net/benas/easyrules/api/RulesEngine.java +++ b/easyrules-core/src/main/java/net/benas/easyrules/api/RulesEngine.java @@ -57,4 +57,17 @@ public interface RulesEngine { */ void clearRules(); + /** + * Specify if next rules should be skipped after the first applied rule. + * @param skipOnFirstAppliedRule true if next rules should be skipped after the first applied rule, false else. + */ + public void setSkipOnFirstAppliedRule(boolean skipOnFirstAppliedRule); + + /** + * Set the maximum rule priority over which rules should be skipped. + * Default value is {@link net.benas.easyrules.util.EasyRulesConstants#DEFAULT_RULE_PRIORITY_THRESHOLD} + * @param rulePriorityThreshold rule priority threshold + */ + public void setRulePriorityThreshold(int rulePriorityThreshold); + } diff --git a/easyrules-core/src/main/java/net/benas/easyrules/core/DefaultRulesEngine.java b/easyrules-core/src/main/java/net/benas/easyrules/core/DefaultRulesEngine.java index 08d6a3b..1ad7d81 100644 --- a/easyrules-core/src/main/java/net/benas/easyrules/core/DefaultRulesEngine.java +++ b/easyrules-core/src/main/java/net/benas/easyrules/core/DefaultRulesEngine.java @@ -27,7 +27,6 @@ package net.benas.easyrules.core; import net.benas.easyrules.api.RulesEngine; import net.benas.easyrules.util.EasyRulesConstants; -import java.util.Collections; import java.util.Set; import java.util.TreeSet; import java.util.logging.Level; @@ -115,11 +114,14 @@ public class DefaultRulesEngine implements RulesEngine { logger.info("Rules cleared."); } + @Override public void setSkipOnFirstAppliedRule(boolean skipOnFirstAppliedRule) { this.skipOnFirstAppliedRule = skipOnFirstAppliedRule; } + @Override public void setRulePriorityThreshold(int rulePriorityThreshold) { this.rulePriorityThreshold = rulePriorityThreshold; } + }