From 0755a578ba2e0814e1e19d42a7fb8866a58f6d53 Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Sun, 6 Dec 2020 21:16:26 +0100 Subject: [PATCH] Document composite rules about their thread unsafety Resolves #320 --- .../org/jeasy/rules/support/composite/ActivationRuleGroup.java | 2 ++ .../java/org/jeasy/rules/support/composite/CompositeRule.java | 3 +++ .../jeasy/rules/support/composite/ConditionalRuleGroup.java | 2 ++ .../java/org/jeasy/rules/support/composite/UnitRuleGroup.java | 2 ++ 4 files changed, 9 insertions(+) diff --git a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ActivationRuleGroup.java b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ActivationRuleGroup.java index ba7369d4..7c72830d 100644 --- a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ActivationRuleGroup.java +++ b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ActivationRuleGroup.java @@ -33,6 +33,8 @@ * rule and ignores other rules in the group (XOR logic). * Rules are first sorted by their natural order (priority by default) within the group. * + * This class is not thread-safe. + * * @author Mahmoud Ben Hassine (mahmoud.benhassine@icloud.com) */ public class ActivationRuleGroup extends CompositeRule { diff --git a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/CompositeRule.java b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/CompositeRule.java index 70a66333..b6d506b4 100644 --- a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/CompositeRule.java +++ b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/CompositeRule.java @@ -35,6 +35,9 @@ /** * Base class representing a composite rule composed of a set of rules. + * + * This class is not thread-safe. + * Sub-classes are inherently not thread-safe. * * @author Mahmoud Ben Hassine (mahmoud.benhassine@icloud.com) */ diff --git a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ConditionalRuleGroup.java b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ConditionalRuleGroup.java index 3167c0c3..aa797ca4 100644 --- a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ConditionalRuleGroup.java +++ b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/ConditionalRuleGroup.java @@ -37,6 +37,8 @@ * priority acts as a condition: if the rule with the highest priority evaluates * to true, then we try to evaluate the rest of the rules and execute the ones * that evaluate to true. + * + * This class is not thread-safe. * * @author Dag Framstad (dagframstad@gmail.com) */ diff --git a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/UnitRuleGroup.java b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/UnitRuleGroup.java index af5b2d6c..3c794cc4 100644 --- a/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/UnitRuleGroup.java +++ b/easy-rules-support/src/main/java/org/jeasy/rules/support/composite/UnitRuleGroup.java @@ -29,6 +29,8 @@ /** * A unit rule group is a composite rule that acts as a unit: Either all rules are * applied or nothing is applied (all or nothing semantic). + * + * This class is not thread-safe. * * @author Mahmoud Ben Hassine (mahmoud.benhassine@icloud.com) */