AbstractNodeAction

abstract class AbstractNodeAction<T>(reaction: Reaction<T>, val targetNode: Node<T>) : AbstractAction<T>

Base implementation of an Action executed on a target targetNode, owned by a reaction with any host.

When cloned, an action targeting the host of its reaction targets the host of the new reaction, which must be a node; an action targeting any other node keeps its target.

Inheritors

Constructors

Link copied to clipboard
constructor(reaction: Reaction<T>, targetNode: Node<T>)

Properties

Link copied to clipboard
open override val reaction: Reaction<T>

The reaction owning this action. Its Reaction.host is the model entity hosting the action, which may differ from the node it targets, if any.

Link copied to clipboard

Functions

Link copied to clipboard
override fun cloneAction(newReaction: Reaction<T>): Action<T>

Creates an equivalent action owned by newReaction, such as a reaction cloned onto a new node. An action targeting the host of its reaction targets the host of newReaction, which must then be a Node; an action targeting any other node keeps its target.

Link copied to clipboard
abstract fun execute()

Applies this action to the model.

Link copied to clipboard
infix fun Action<*>.shouldEqual(other: Action<*>)
Link copied to clipboard
open override fun toString(): String