Class Rules

  • All Implemented Interfaces:
    java.lang.Iterable<Rule>

    public class Rules
    extends java.lang.Object
    implements java.lang.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.
    • Constructor Summary

      Constructors 
      Constructor Description
      Rules​(java.lang.Object... rules)
      Create a new Rules object.
      Rules​(java.util.Set<Rule> rules)
      Create a new Rules object.
      Rules​(Rule... rules)
      Create a new Rules object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void clear()
      Clear rules.
      boolean isEmpty()
      Check if the rule set is empty.
      boolean isTraceEnable()  
      java.util.Iterator<Rule> iterator()
      Return an iterator on the rules set.
      void register​(java.lang.Object... rules)
      Register one or more new rules.
      void setTraceEnable​(boolean traceEnable)  
      int size()
      Return how many rules are currently registered.
      void unregister​(java.lang.Object... rules)
      Unregister one or more rules.
      void unregister​(java.lang.String ruleName)
      Unregister a rule by name.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface java.lang.Iterable

        forEach, spliterator
    • Constructor Detail

      • Rules

        public Rules​(java.lang.Object... 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​(java.util.Set<Rule> rules)
        Create a new Rules object.
        Parameters:
        rules - to register
    • Method Detail

      • clear

        public void clear()
        Clear rules.
      • isEmpty

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

        public boolean isTraceEnable()
      • iterator

        public java.util.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 java.lang.Iterable<Rule>
        Returns:
        an iterator on the rules set
      • register

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

        public void setTraceEnable​(boolean traceEnable)
      • size

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

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

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