Class Rules

  • All Implemented Interfaces:
    Iterable<Rule>

    public class Rules
    extends Object
    implements Iterable<Rule>
    This class encapsulates a set of rules and represents a rules namespace. Rules must have a unique name within a rules namespace.

    Rules will be compared to each other based on Comparable.compareTo(Object) method, so Rule's implementations are expected to correctly implement compareTo to ensure unique rule names within a single namespace.

    Author:
    Mahmoud Ben Hassine ([email protected])
    • Constructor Detail

      • Rules

        public Rules​(Set<Rule> rules)
        Create a new Rules object.
        Parameters:
        rules - to register
      • Rules

        public Rules​(Rule... rules)
        Create a new Rules object.
        Parameters:
        rules - to register
      • Rules

        public Rules​(Object... rules)
        Create a new Rules object.
        Parameters:
        rules - to register
    • Method Detail

      • register

        public void register​(Object... rules)
        Register one or more new rules.
        Parameters:
        rules - to register, must not be null
      • register

        public void register​(Rule... rules)
      • unregister

        public void unregister​(Rules... rules)
      • unregister

        public void unregister​(Object... rules)
        Unregister one or more rules.
        Parameters:
        rules - to unregister, must not be null
      • unregister

        public void unregister​(String ruleName)
        Unregister a rule by name.
        Parameters:
        ruleName - name of the rule to unregister, must not be null
      • isEmpty

        public boolean isEmpty()
        Check if the rule set is empty.
        Returns:
        true if the rule set is empty, false otherwise
      • clear

        public void clear()
        Clear rules.
      • size

        public int size()
        Return how many rules are currently registered.
        Returns:
        the number of rules currently registered
      • iterator

        public Iterator<Rule> iterator()
        Return an iterator on the rules set. It is not intended to remove rules using this iterator.
        Specified by:
        iterator in interface Iterable<Rule>
        Returns:
        an iterator on the rules set