AbstractLsaCondition

Base implementation of an ILsaCondition, evaluated on the ILsaNode hosting its reaction.

The molecules are the templates on which this condition acts.

Inheritors

Constructors

Link copied to clipboard
constructor(reaction: NodeReaction<List<ILsaMolecule>>, molecules: Set<ILsaMolecule>)

Properties

Link copied to clipboard
override val isValid: Observable<Boolean>

The live validity of this condition.

Link copied to clipboard

The node hosting this condition, as an ILsaNode.

Link copied to clipboard
@get:Nonnull
abstract val matchingInput: Observable<*>
Link copied to clipboard

The NodeReaction owning this condition, hosted by targetNode.

Link copied to clipboard

Functions

Link copied to clipboard

Signals that the owning reaction is about to fire. Used to implement conditions latched to changes that occur in-between reaction executions.

Link copied to clipboard

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

Link copied to clipboard
open override fun dispose()

Disposes and releases the resources held by this object.

Link copied to clipboard
abstract fun filter(matches: List<Map<HashString?, ITreeNode<*>?>?>?, validNodes: List<ILsaNode?>?, retrieved: List<Map<ILsaNode?, List<ILsaMolecule?>?>?>?): Boolean

When this method is called, the condition must filter the current matches and allowed nodes.

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