Package org.rossonet.ext.rules.core
Class BasicRule
- java.lang.Object
-
- org.rossonet.ext.rules.core.BasicRule
-
- Direct Known Subclasses:
CompositeRule,JexlRule,MVELRule
public class BasicRule extends java.lang.Object implements Rule
Basic rule implementation class that provides common methods. You can extend this class and overrideevaluate(Facts)andexecute(Facts)to provide rule conditions and actions logic.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringdescriptionRule description.protected java.lang.StringnameRule name.protected intpriorityRule priority.-
Fields inherited from interface org.rossonet.ext.rules.api.Rule
DEFAULT_DESCRIPTION, DEFAULT_NAME, DEFAULT_PRIORITY
-
-
Constructor Summary
Constructors Constructor Description BasicRule()Create a newBasicRule.BasicRule(java.lang.String name)Create a newBasicRule.BasicRule(java.lang.String name, java.lang.String description)Create a newBasicRule.BasicRule(java.lang.String name, java.lang.String description, int priority)Create a newBasicRule.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Rule rule)booleanequals(java.lang.Object o)booleanevaluate(Facts facts)This method implements the rule's condition(s).voidexecute(Facts facts)This method implements the rule's action(s).java.lang.StringgetDescription()Getter for rule description.java.lang.StringgetName()Getter for rule name.intgetPriority()Getter for rule priority.inthashCode()voidsetDescription(java.lang.String description)voidsetPriority(int priority)java.lang.StringtoString()
-
-
-
Constructor Detail
-
BasicRule
public BasicRule()
Create a newBasicRule.
-
BasicRule
public BasicRule(java.lang.String name)
Create a newBasicRule.- Parameters:
name- rule name
-
BasicRule
public BasicRule(java.lang.String name, java.lang.String description)Create a newBasicRule.- Parameters:
name- rule namedescription- rule description
-
BasicRule
public BasicRule(java.lang.String name, java.lang.String description, int priority)Create a newBasicRule.- Parameters:
name- rule namedescription- rule descriptionpriority- rule priority
-
-
Method Detail
-
compareTo
public int compareTo(Rule rule)
- Specified by:
compareToin interfacejava.lang.Comparable<Rule>
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
evaluate
public boolean evaluate(Facts facts)
This method implements the rule's condition(s). Implementations should handle any runtime exception and return true/false accordingly
-
execute
public void execute(Facts facts) throws java.lang.Exception
This method implements the rule's action(s).
-
getDescription
public java.lang.String getDescription()
Description copied from interface:RuleGetter for rule description.- Specified by:
getDescriptionin interfaceRule- Returns:
- rule description
-
getName
public java.lang.String getName()
Description copied from interface:RuleGetter for rule name.
-
getPriority
public int getPriority()
Description copied from interface:RuleGetter for rule priority.- Specified by:
getPriorityin interfaceRule- Returns:
- rule priority
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
setDescription
public void setDescription(java.lang.String description)
-
setPriority
public void setPriority(int priority)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-