Beispiel #1
0
 protected internal virtual void VisitAlphaMemoryNode(TContext builder, AlphaMemoryNode node)
 {
     foreach (var objectSink in node.Sinks)
     {
         Visit(builder, objectSink);
     }
 }
Beispiel #2
0
 protected internal override void VisitAlphaMemoryNode(SchemaBuilder builder, AlphaMemoryNode node)
 {
     if (builder.IsVisited(node))
     {
         return;
     }
     builder.AddNode(node, ReteNode.Create);
     builder.AddLinks(node, node.Sinks);
     base.VisitAlphaMemoryNode(builder, node);
 }
Beispiel #3
0
        internal static NodeInfo Create(AlphaMemoryNode node, IAlphaMemory memory)
        {
            var items = memory.Facts.Select(f => f.Object.ToString());

            return(new NodeInfo(NodeType.AlphaMemory, string.Empty, Empty, Empty, items));
        }
Beispiel #4
0
 protected internal override void VisitAlphaMemoryNode(SnapshotBuilder builder, AlphaMemoryNode node)
 {
     if (builder.IsVisited(node))
     {
         return;
     }
     builder.AddNode(node, n => NodeInfo.Create(n, _workingMemory.GetNodeMemory(n)));
     builder.AddLinks(node, node.Sinks);
     base.VisitAlphaMemoryNode(builder, node);
 }
Beispiel #5
0
 internal static NodeInfo Create(AlphaMemoryNode node, IAlphaMemory memory)
 {
     return new NodeInfo(NodeType.AlphaMemory, string.Empty, Empty, Empty, memory.Facts.Select(f => f.Object.ToString()));
 }
Beispiel #6
0
 internal static ReteNode Create(AlphaMemoryNode node)
 {
     return(new ReteNode(node.Id, NodeType.AlphaMemory, outputType: node.NodeInfo.OutputType,
                         rules: node.NodeInfo.Rules));
 }