public class MembraneDivisionResult extends java.lang.Object implements Result, Condition, Dimensional, MembraneListener
| Constructor and Description |
|---|
MembraneDivisionResult() |
MembraneDivisionResult(MembraneDivisionResult mdr) |
| Modifier and Type | Method and Description |
|---|---|
void |
addDimension(Dimension dimension)
Add new dimensions to an instance of
Dimensional. |
void |
addDimension(java.lang.Long dimension)
Add new fixed dimensions to an instance of
Dimensional. |
void |
addDimension(java.lang.String dimension)
Add new formula dimensions to an instance of dimension.
|
void |
addMembranePropertyResult1(MembranePropertyResult mpResult) |
void |
addMembranePropertyResult2(MembranePropertyResult mpResult) |
void |
addObjectResult1(ObjectResult oResult) |
void |
addObjectResult2(ObjectResult oResult) |
MembraneDivisionResult |
deepClone()
Deep clone a result
|
void |
endChecking(Membrane membrane)
End checking all rules if some of them are satisfied
|
void |
endFetching(Membrane membrane)
End fetching all the satisfied rules
|
void |
endSetting(Membrane membrane)
End setting product in this membrane include all its sub-membranes.
|
int |
fetch(Membrane membrane,
int tryTimes)
fetch objects from membrane
|
void |
fix(java.util.Map<java.lang.String,java.lang.Object> mappedValues)
Fix all the dimension by calculating them using the mapped values
|
Dimension |
get(int i)
Get the i-th dimension
|
java.util.List<Dimension> |
getDimensions()
Get all the dimensions of an instance
|
int |
getDimensionSize()
Return the number of total dimensions
|
boolean |
isFixed()
Check if all the dimensions are fixed
|
java.util.List<java.lang.Long[]> |
predictPossibleValue(Membrane membrane,
java.util.List<Dimension> dList)
Predict the possible values in this membrane
|
int |
satisfy(Membrane membrane)
check if condition satisfy the situation in membrane.
|
Tunnel |
selectTunnel(Membrane current)
Select which tunnel this result will go through
|
void |
setResult(Membrane membrane,
int times)
Set the result to target membrane
|
void |
startChecking(Membrane membrane)
Start to check all rules if some of them are satisfied
|
void |
startFetching(Membrane membrane)
Start to fetch all the satisfied rules
|
void |
startSetting(Membrane membrane)
Start to set product in this membrane
|
java.lang.String |
toString() |
void |
withdrawFetch(Membrane membrane,
int times)
If some conditions in one rule cannot fetch the objects then the conditions
which have fetched the objects they need withdraw the objects they have
fetched.
|
public MembraneDivisionResult()
public MembraneDivisionResult(MembraneDivisionResult mdr)
public void addObjectResult1(ObjectResult oResult)
public void addObjectResult2(ObjectResult oResult)
public void addMembranePropertyResult1(MembranePropertyResult mpResult)
public void addMembranePropertyResult2(MembranePropertyResult mpResult)
public void setResult(Membrane membrane, int times) throws UnknownMembraneClassException, TimesException
ResultsetResult in interface Resultmembrane - target membranetimes - set result timesUnknownMembraneClassException - if membrane class can not be found while creating an instanceTimesExceptionpublic MembraneDivisionResult deepClone()
Resultpublic Tunnel selectTunnel(Membrane current) throws TunnelNotExistException
ResultselectTunnel in interface Resultcurrent - current membraneTunnelNotExistException - if tunnel doesn't exist and cannot be createdpublic int satisfy(Membrane membrane)
Conditionpublic int fetch(Membrane membrane, int tryTimes)
Conditionpublic void withdrawFetch(Membrane membrane, int times)
ConditionwithdrawFetch in interface Conditionmembrane - the membrane current condition withdraw objects totimes - withdraw fetch timespublic void startChecking(Membrane membrane)
MembraneListenerstartChecking in interface MembraneListenermembrane - this membranepublic void endChecking(Membrane membrane)
MembraneListenerendChecking in interface MembraneListenermembrane - this membranepublic void startFetching(Membrane membrane)
MembraneListenerstartFetching in interface MembraneListenermembrane - this membranepublic void endFetching(Membrane membrane)
MembraneListenerendFetching in interface MembraneListenermembrane - this membranepublic void startSetting(Membrane membrane)
MembraneListenerstartSetting in interface MembraneListenermembrane - this membranepublic void endSetting(Membrane membrane)
MembraneListenerendSetting in interface MembraneListenermembrane - this membranepublic java.lang.String toString()
toString in class java.lang.Objectpublic void addDimension(Dimension dimension)
DimensionalDimensional. For example, a[i+1]
have a dimension i+1 and i+1 should be added to a.addDimension in interface Dimensionaldimension - dimensionspublic void addDimension(java.lang.Long dimension)
DimensionalDimensional. For example,
a[1] have a dimension 1 and 1 should be added to a.addDimension in interface Dimensionaldimension - dimensionspublic void addDimension(java.lang.String dimension)
Dimensionali+1 and i+1 should be added to a.addDimension in interface Dimensionaldimension - dimensionspublic java.util.List<Dimension> getDimensions()
DimensionalgetDimensions in interface Dimensionalpublic void fix(java.util.Map<java.lang.String,java.lang.Object> mappedValues)
Dimensionalfix in interface DimensionalmappedValues - mapped valuespublic boolean isFixed()
DimensionalisFixed in interface Dimensionaltrue if all the dimensions are fixed, and if
getDimensionSize()==0 return true, else return
falsepublic int getDimensionSize()
DimensionalgetDimensionSize in interface Dimensionalpublic Dimension get(int i)
Dimensionalget in interface Dimensionali - index of dimension wantedpublic java.util.List<java.lang.Long[]> predictPossibleValue(Membrane membrane, java.util.List<Dimension> dList)
DimensionalpredictPossibleValue in interface Dimensionalmembrane - targetMembranedList - the list of dimensions which want to be predicted their value