public interface Rule extends Name, java.lang.Cloneable
Modifier and Type | Field and Description |
---|---|
static java.util.HashMap<java.lang.String,java.util.List<Rule>> |
ruleSet |
Modifier and Type | Method and Description |
---|---|
void |
addCondition(Condition condition)
Add new condition
|
void |
addResult(Result result)
Add new result
|
Rule |
deepClone()
Deep clone one rule
|
int |
fetch(Membrane membrane,
int times)
Fetch objects from membrane
|
java.util.List<Condition> |
getConditions()
Get the condition list of this rule
|
java.util.List<Result> |
getResults()
Get the result list of this rule
|
static java.util.List<Rule> |
getRuleSet(java.lang.String name)
Get rule set
|
static void |
registRuleSet(java.lang.String name,
java.util.List<Rule> ruleSet1)
Register a rule set
|
java.util.Map<Rule,java.lang.Integer> |
satisfiedRules(Membrane membrane)
Check if rule with dimensions is satisfied, return the satisfied rules which
have fixed their dimensions.
|
int |
satisfy(Membrane membrane)
Check if all the conditions are satisfied at once.
|
getName, getNameDim, setName
addDimension, addDimension, addDimension, fix, get, getDimensions, getDimensionSize, isFixed, predictPossibleValue
static final java.util.HashMap<java.lang.String,java.util.List<Rule>> ruleSet
static void registRuleSet(java.lang.String name, java.util.List<Rule> ruleSet1)
name
- the name of rule setruleSet1
- rules in the registered rule setstatic java.util.List<Rule> getRuleSet(java.lang.String name)
name
- the name of rule setnull
if rule set does not existint satisfy(Membrane membrane)
membrane
- the test membranejava.util.Map<Rule,java.lang.Integer> satisfiedRules(Membrane membrane) throws UnpredictableDimensionException, java.lang.CloneNotSupportedException
membrane
- the test membraneUnpredictableDimensionException
- if rule has dimension whose value cannot be predictedjava.lang.CloneNotSupportedException
- if clone failedint fetch(Membrane membrane, int times)
membrane
- target membranetimes
- times try to fetchvoid addCondition(Condition condition)
condition
- new conditionvoid addResult(Result result)
result
- new resultjava.util.List<Result> getResults()
java.util.List<Condition> getConditions()
Rule deepClone()
deepClone
in interface Dimensional
deepClone
in interface Name