public class Rules
extends java.lang.Object
Constructor and Description |
---|
Rules() |
Modifier and Type | Method and Description |
---|---|
static boolean |
applyConditions(StateObj state,
java.util.Set<Condition> runConditions,
boolean operationAnd) |
static java.util.function.Function<? super Rule,java.util.Optional<StateObj>> |
applyRule(StateObj state) |
static java.util.Set<Condition> |
conditionSet(Condition... condition) |
static Rule |
conditionsRule(Condition condition,
StateObj result)
Create a rule: predicate(conditions) => new state(results)
|
static Rule |
conditionsRule(Condition condition,
java.lang.String key,
java.lang.String value)
Create a rule: predicate(conditions) => new state(results)
|
static Rule |
conditionsRule(java.util.Set<Condition> conditions,
java.util.Map<java.lang.String,java.lang.String> results)
Create a rule: predicate(conditions) => new state(results)
|
static Rule |
conditionsRule(java.util.Set<Condition> conditions,
StateObj results)
Create a rule: predicate(conditions) => new state(results)
|
static Rule |
conditionsRule(java.util.Set<Condition> conditions,
java.lang.String key,
java.lang.String value)
Create a rule: predicate(conditions) => new state(results)
|
static RuleEngine |
createEngine() |
static RuleEngine |
createEngine(java.util.Set<Rule> ruleset) |
static Condition |
equalsCondition(StateObj state)
Create a condition when the given state is set
|
static Condition |
equalsCondition(java.lang.String key,
java.lang.String value)
Create a single state key equals value condition
|
static Condition |
matchesCondition(java.lang.String key,
boolean keyRegex,
java.lang.String value,
boolean valueRegex)
Create a single match condition
|
static java.util.function.Predicate<? super Rule> |
ruleApplies(StateObj state) |
static boolean |
update(RuleEngine ruleEngine,
MutableStateObj state)
Update the state by evaluating the rules, and applying state changes
|
public static RuleEngine createEngine(java.util.Set<Rule> ruleset)
ruleset
- initial rulespublic static RuleEngine createEngine()
public static Condition equalsCondition(java.lang.String key, java.lang.String value)
key
- keyvalue
- valuepublic static Condition equalsCondition(StateObj state)
state
- statepublic static java.util.Set<Condition> conditionSet(Condition... condition)
condition
- public static Condition matchesCondition(java.lang.String key, boolean keyRegex, java.lang.String value, boolean valueRegex)
key
- key name or regular expressionkeyRegex
- true if the key is a regular expression key match, false for an equals matchvalue
- value value stringvalueRegex
- true if the value is a regular expression match, false for an equals matchpublic static Rule conditionsRule(Condition condition, java.lang.String key, java.lang.String value)
condition
- single conditionkey
- keyvalue
- valuepublic static Rule conditionsRule(Condition condition, StateObj result)
condition
- single conditionresult
- resultpublic static Rule conditionsRule(java.util.Set<Condition> conditions, java.lang.String key, java.lang.String value)
conditions
- conditionskey
- keyvalue
- valuepublic static Rule conditionsRule(java.util.Set<Condition> conditions, java.util.Map<java.lang.String,java.lang.String> results)
conditions
- conditionsresults
- resultspublic static Rule conditionsRule(java.util.Set<Condition> conditions, StateObj results)
conditions
- conditionsresults
- resultspublic static boolean applyConditions(StateObj state, java.util.Set<Condition> runConditions, boolean operationAnd)
public static boolean update(RuleEngine ruleEngine, MutableStateObj state)
ruleEngine
- rule enginestate
- state