public GroupedStreamAggregateBuilder(InternalStreamBuilder builder, Grouped <K, V> grouped, List <string> sourceNodes, string name, StreamGraphNode node) { this.builder = builder; this.grouped = grouped; this.sourceNodes = sourceNodes; this.name = name; this.node = node; }
public IKGroupedStream <K, V> GroupByKey(string named = null) { return(new KGroupedStream <K, V>( this.nameNode, Grouped <K, V> .Create(named, this.keySerdes, this.valueSerdes), this.setSourceNodes, this.node, builder)); }
public IKGroupedStream <K, V> GroupByKey <KS, VS>(string named = null) where KS : ISerDes <K>, new() where VS : ISerDes <V>, new() { return(new KGroupedStream <K, V>( this.nameNode, Grouped <K, V> .Create <KS, VS>(named), this.setSourceNodes, this.node, builder)); }
public KGroupedStream(string name, Grouped <K, V> grouped, List <string> sourceNodes, StreamGraphNode streamsGraphNode, InternalStreamBuilder builder) : base(name, grouped.Key, grouped.Value, sourceNodes, streamsGraphNode, builder) { }
private IKGroupedStream <KR, V> DoGroup <KR>(IKeyValueMapper <K, V, KR> keySelector, Grouped <KR, V> grouped) { if (keySelector == null) { throw new ArgumentNullException("GroupBy() doesn't allow null selector function"); } ProcessorGraphNode <K, V> selectKeyMapNode = InternalSelectKey(keySelector, grouped.Named); selectKeyMapNode.KeyChangingOperation = true; builder.AddGraphNode(this.node, selectKeyMapNode); return(new KGroupedStream <KR, V>( selectKeyMapNode.streamGraphNode, grouped, this.setSourceNodes, selectKeyMapNode, builder)); }
public IKGroupedStream <KR, V> GroupBy <KR, KS>(IKeyValueMapper <K, V, KR> keySelector, string named = null) where KS : ISerDes <KR>, new() => DoGroup(keySelector, Grouped <KR, V> .Create <KS>(named, valueSerdes));
public IKGroupedStream <KR, V> GroupBy <KR>(IKeyValueMapper <K, V, KR> keySelector, string named = null) => DoGroup(keySelector, Grouped <KR, V> .Create(named, null, valueSerdes));
private IKGroupedStream <KR, V> DoGroup <KR>(IKeyValueMapper <K, V, KR> keySelector, Grouped <KR, V> grouped) { ProcessorGraphNode <K, V> selectKeyMapNode = InternalSelectKey(keySelector, grouped.Named); selectKeyMapNode.KeyChangingOperation = true; builder.AddGraphNode(this.node, selectKeyMapNode); return(new KGroupedStream <KR, V>( selectKeyMapNode.streamGraphNode, grouped, this.setSourceNodes, selectKeyMapNode, builder)); }