GraphMine

graphmine-core / io.github.sof3.graphmine.feature / FeatureEdge

FeatureEdge

interface FeatureEdge<Node1 : FeatureNode<Node1, Inst1>, Node2 : FeatureNode<Node2, Inst2>, Inst1 : FeatureNodeInstance<Inst1, Node1>, Inst2 : FeatureNodeInstance<Inst2, Node2>>

Represents the implementation of a feature.

FeatureGraph.handle() provides a convenience inline function for implementing this.

See Also

FeatureGraph.handle

Properties

node1 abstract val node1: Node1
Represents one of the endpoint FeatureNodes. Swapping node1 and node2 does not matter.
node2 abstract val node2: Node2
Represents one of the endpoint FeatureNodes. Swapping node1 and node2 does not matter.

Functions

handle abstract fun handle(inst1: Inst1, inst2: Inst2, event: FeatureEvent): Unit
The implementation to handle the FeatureEvent.

Inheritors

DoubleFeatureHandler class DoubleFeatureHandler<Node1 : FeatureNode<Node1, Inst1>, Inst1 : FeatureNodeInstance<Inst1, Node1>, Node2 : FeatureNode<Node2, Inst2>, Inst2 : FeatureNodeInstance<Inst2, Node2>> : FeatureEdge<Node1, Node2, Inst1, Inst2>
SingleFeatureEdge interface SingleFeatureEdge<Node : FeatureNode<Node, Inst>, Inst : FeatureNodeInstance<Inst, Node>> : FeatureEdge<Node, Node, Inst, Inst>
Convenience implementation of self-looping FeatureEdge