Class CompositeRule

    • Field Detail

      • rules

        protected java.util.Set<Rule> rules
        The set of composing rules.
    • Constructor Detail

      • CompositeRule

        public CompositeRule()
        Create a new CompositeRule.
      • CompositeRule

        public CompositeRule​(java.lang.String name)
        Create a new CompositeRule.
        Parameters:
        name - rule name
      • CompositeRule

        public CompositeRule​(java.lang.String name,
                             java.lang.String description)
        Create a new CompositeRule.
        Parameters:
        name - rule name
        description - rule description
      • CompositeRule

        public CompositeRule​(java.lang.String name,
                             java.lang.String description,
                             int priority)
        Create a new CompositeRule.
        Parameters:
        name - rule name
        description - rule description
        priority - rule priority
    • Method Detail

      • addRule

        public void addRule​(java.lang.Object rule)
        Add a rule to the composite rule.
        Parameters:
        rule - the rule to add
      • evaluate

        public abstract boolean evaluate​(Facts facts)
        Description copied from class: BasicRule
        This method implements the rule's condition(s). Implementations should handle any runtime exception and return true/false accordingly
        Specified by:
        evaluate in interface Rule
        Overrides:
        evaluate in class BasicRule
        Returns:
        true if the rule should be applied given the provided facts, false otherwise
      • execute

        public abstract void execute​(Facts facts)
                              throws java.lang.Exception
        Description copied from class: BasicRule
        This method implements the rule's action(s).
        Specified by:
        execute in interface Rule
        Overrides:
        execute in class BasicRule
        Throws:
        java.lang.Exception - thrown if an exception occurs when performing action(s)
      • removeRule

        public void removeRule​(java.lang.Object rule)
        Remove a rule from the composite rule.
        Parameters:
        rule - the rule to remove