AbstractReaction

abstract class AbstractReaction<T> : Reaction<T>

The type which describes the concentration of a molecule. This class offers a partial implementation of Reaction. In particular, it allows to write new reaction specifying only which distribution time to adopt

Parameters

<T>

concentration type

Inheritors

Constructors

Link copied to clipboard
constructor(node: Node<T>, timeDistribution: TimeDistribution<T>)
Builds a new reaction, starting at time t.

Properties

Link copied to clipboard
@get:Nonnull
val node: Node<T>
Link copied to clipboard

Functions

Link copied to clipboard
open fun canExecute(): Boolean
The default implementation verifies if all the conditions are valid.
Link copied to clipboard
abstract fun cloneOnNewNode(p: Node<T>, p1: Time): Reaction<T>
Link copied to clipboard
Link copied to clipboard
fun equals(o: Any): Boolean
Link copied to clipboard
open fun execute()
The default execution iterates all the actions in order and executes them.
Link copied to clipboard
@Nonnull
open fun getActions(): List<Action<T>>
Override only if you need to implement extremely tricky behaviours.
Link copied to clipboard
@Nonnull
open fun getConditions(): List<Condition<T>>
Override only if you need to implement extremely tricky behaviours.
Link copied to clipboard
Link copied to clipboard
@Nonnull
fun getInputContext(): Context
Link copied to clipboard
abstract fun getNode(): Node<T>
Link copied to clipboard
Link copied to clipboard
@Nonnull
fun getOutputContext(): Context
Link copied to clipboard
open fun getRate(): Double
Link copied to clipboard
@Nonnull
fun getTau(): Time
Link copied to clipboard
Link copied to clipboard
fun hashCode(): Int
Link copied to clipboard
open fun initializationComplete(@Nonnull atTime: Time, @Nonnull environment: Environment<T, out Any>)
Link copied to clipboard
open fun setActions(@Nonnull actions: List<out Action<T>>)
This should get overridden only if very tricky behaviours are implemented, such that the default Alchemist action addition model is no longer usable.
Link copied to clipboard
open fun setConditions(@Nonnull conditions: List<out Condition<T>>)
This should get overridden only if very tricky behaviours are implemented, such that the default Alchemist condition addition model is no longer usable.
Link copied to clipboard
open fun toString(): String
Link copied to clipboard
fun update(@Nonnull currentTime: Time, hasBeenExecuted: Boolean, @Nonnull environment: Environment<T, out Any>)