Package org.rossonet.ext.rules.api
Class Rules
- java.lang.Object
-
- org.rossonet.ext.rules.api.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 onComparable.compareTo(Object)method, soRule's implementations are expected to correctly implementcompareToto ensure unique rule names within a single namespace.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclear()Clear rules.booleanisEmpty()Check if the rule set is empty.booleanisTraceEnable()java.util.Iterator<Rule>iterator()Return an iterator on the rules set.voidregister(java.lang.Object... rules)Register one or more new rules.voidsetTraceEnable(boolean traceEnable)intsize()Return how many rules are currently registered.voidunregister(java.lang.Object... rules)Unregister one or more rules.voidunregister(java.lang.String ruleName)Unregister a rule by name.
-
-
-
Constructor Detail
-
Rules
public Rules(java.lang.Object... rules)
Create a newRulesobject.- 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:
iteratorin interfacejava.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
-
-