public class RuleBookBuilder<T> extends java.lang.Object implements TerminatingRuleBookBuilder<T>
Modifier and Type | Method and Description |
---|---|
RuleBookAddRuleBuilder<T> |
addRule(java.util.function.Consumer<RuleBookRuleBuilder<T>> consumer)
Adds a rule to the RuleBook.
|
<U> RuleBookAddRuleBuilder<T> |
addRule(Rule<U,T> rule)
Adds a rule to the RuleBook.
|
RuleBookAddRuleBuilder<T> |
asAuditor()
Decorates the RuleBook with
Auditor functionality for rules auditing. |
RuleBook<T> |
build()
Builds the RuleBook.
|
static RuleBookBuilder<java.lang.Object> |
create()
Returns a new RuleBookBuilder for the default RuleBook type.
|
static RuleBookBuilder<java.lang.Object> |
create(java.lang.Class<? extends RuleBook> ruleBookClass)
Returns a new RuleBookBuilder using the supplied RuleBook class.
|
<U> RuleBookWithResultTypeBuilder<U> |
withResultType(java.lang.Class<U> resultType)
Specifies the Result type for the RuleBook.
|
public static RuleBookBuilder<java.lang.Object> create()
public static RuleBookBuilder<java.lang.Object> create(java.lang.Class<? extends RuleBook> ruleBookClass)
ruleBookClass
- a RuleBook class to be used in the builderpublic RuleBookAddRuleBuilder<T> asAuditor()
Auditor
functionality for rules auditing.public <U> RuleBookWithResultTypeBuilder<U> withResultType(java.lang.Class<U> resultType)
U
- type of the result classresultType
- result classpublic RuleBookAddRuleBuilder<T> addRule(java.util.function.Consumer<RuleBookRuleBuilder<T>> consumer)
consumer
- functional interface that supplies a RuleBookRuleBuilder for building a Rulepublic <U> RuleBookAddRuleBuilder<T> addRule(Rule<U,T> rule)
U
- the fact type of the Rulerule
- Rule to be added into the RuleBookpublic RuleBook<T> build()
build
in interface TerminatingRuleBookBuilder<T>