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
Result
setResult
in interface Result
membrane
- target membranetimes
- set result timesUnknownMembraneClassException
- if membrane class can not be found while creating an instanceTimesException
public MembraneDivisionResult deepClone()
Result
public Tunnel selectTunnel(Membrane current) throws TunnelNotExistException
Result
selectTunnel
in interface Result
current
- current membraneTunnelNotExistException
- if tunnel doesn't exist and cannot be createdpublic int satisfy(Membrane membrane)
Condition
public int fetch(Membrane membrane, int tryTimes)
Condition
public void withdrawFetch(Membrane membrane, int times)
Condition
withdrawFetch
in interface Condition
membrane
- the membrane current condition withdraw objects totimes
- withdraw fetch timespublic void startChecking(Membrane membrane)
MembraneListener
startChecking
in interface MembraneListener
membrane
- this membranepublic void endChecking(Membrane membrane)
MembraneListener
endChecking
in interface MembraneListener
membrane
- this membranepublic void startFetching(Membrane membrane)
MembraneListener
startFetching
in interface MembraneListener
membrane
- this membranepublic void endFetching(Membrane membrane)
MembraneListener
endFetching
in interface MembraneListener
membrane
- this membranepublic void startSetting(Membrane membrane)
MembraneListener
startSetting
in interface MembraneListener
membrane
- this membranepublic void endSetting(Membrane membrane)
MembraneListener
endSetting
in interface MembraneListener
membrane
- this membranepublic java.lang.String toString()
toString
in class java.lang.Object
public void addDimension(Dimension dimension)
Dimensional
Dimensional
. For example, a[i+1]
have a dimension i+1
and i+1
should be added to a
.addDimension
in interface Dimensional
dimension
- dimensionspublic void addDimension(java.lang.Long dimension)
Dimensional
Dimensional
. For example,
a[1] have a dimension 1
and 1
should be added to a
.addDimension
in interface Dimensional
dimension
- dimensionspublic void addDimension(java.lang.String dimension)
Dimensional
i+1
and i+1
should be added to a
.addDimension
in interface Dimensional
dimension
- dimensionspublic java.util.List<Dimension> getDimensions()
Dimensional
getDimensions
in interface Dimensional
public void fix(java.util.Map<java.lang.String,java.lang.Object> mappedValues)
Dimensional
fix
in interface Dimensional
mappedValues
- mapped valuespublic boolean isFixed()
Dimensional
isFixed
in interface Dimensional
true
if all the dimensions are fixed, and if
getDimensionSize()==0
return true
, else return
false
public int getDimensionSize()
Dimensional
getDimensionSize
in interface Dimensional
public Dimension get(int i)
Dimensional
get
in interface Dimensional
i
- index of dimension wantedpublic java.util.List<java.lang.Long[]> predictPossibleValue(Membrane membrane, java.util.List<Dimension> dList)
Dimensional
predictPossibleValue
in interface Dimensional
membrane
- targetMembranedList
- the list of dimensions which want to be predicted their value