graphmine-core / io.github.sof3.graphmine.feature / 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
| node1 | abstract val node1: Node1Represents one of the endpoint FeatureNodes. Swapping node1 and node2 does not matter. |
| node2 | abstract val node2: Node2Represents one of the endpoint FeatureNodes. Swapping node1 and node2 does not matter. |
| handle | abstract fun handle(inst1: Inst1, inst2: Inst2, event: FeatureEvent): UnitThe implementation to handle the FeatureEvent. |
| 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 |