| Interface | Description |
|---|---|
| Decision<T,U> |
A special type of rule that has a return type, which may be different from the type of input (Facts).
|
| Rule<T> |
A
Rule is an interface that uses the following format:
rule.given(facts).when(some condition given facts).then(do something) |
| Class | Description |
|---|---|
| DecisionBook<T,U> |
DecisionBook is a type of
RuleBook that stores a return type linked to all the rules in the DecisionBook. |
| Fact<T> |
A Fact is a single piece of data that can be supplied to a
Rule. |
| FactMap<T> |
A FactMap is an extension of
HashMap; it stores facts by their name and provides convenience methods for
accessing Fact objects. |
| Result<T> |
This is a wrapper class for the actual result.
|
| RuleBook<T> |
RuleBook is an abstract class that follows the Template Method design pattern, leaving the defineRules() method
implementation for subclasses.
|
| StandardDecision<T,U> |
StandardDecision is the standard implementation of
Decision. |
| StandardRule<T> |
StandardRule is a standard rule implementation that can be used with a
RuleBook. |
| Enum | Description |
|---|---|
| RuleState |
Enumeration for whether the continue the rule chain or break it.
|