-
- All Implemented Interfaces:
-
java.io.Serializable
public interface Condition<T> implements Serializable
-
-
Method Summary
Modifier and Type Method Description abstract Condition<T>cloneCondition(Node<T> node, Reaction<T> reaction)This method allows to clone this action on a new node. abstract ContextgetContext()abstract ListSet<out Dependency>getInboundDependencies()abstract Node<T>getNode()abstract doublegetPropensityContribution()This method is a support for the propensity calculation inside the Reactions. abstract booleanisValid()voidreactionReady()This method is called by the it.unibo.alchemist.core.interfaces.Simulation once the Reaction whose this Condition belongs to is the next one to be executed, and all its conditions passed (namely, the next operation will be the reaction execution). -
-
Method Detail
-
cloneCondition
abstract Condition<T> cloneCondition(Node<T> node, Reaction<T> reaction)
This method allows to clone this action on a new node. It may result useful to support runtime creation of nodes with the same reaction programming, e.g. for morphogenesis.
-
getContext
abstract Context getContext()
-
getInboundDependencies
abstract ListSet<out Dependency> getInboundDependencies()
-
getPropensityContribution
abstract double getPropensityContribution()
This method is a support for the propensity calculation inside the Reactions. It allows this condition to influence the rate calculation in some way. It's up to the reaction to decide whether to use or not this information, and how.
-
isValid
abstract boolean isValid()
-
reactionReady
void reactionReady()
This method is called by the it.unibo.alchemist.core.interfaces.Simulation once the Reaction whose this Condition belongs to is the next one to be executed, and all its conditions passed (namely, the next operation will be the reaction execution). It can be used to perform sanity checks, as well as for registering the status of the simulated world for future comparisons. Defaults to an empty implementation.
-
-
-
-