public override void WriteToTopology(InternalTopologyBuilder builder)
        {
            builder.AddProcessor(JoinLeftParams.ProcessorName, JoinLeftParams.Processor, LeftJoinSideName);
            builder.AddProcessor(JoinRightParams.ProcessorName, JoinRightParams.Processor, RightJoinSideName);
            builder.AddProcessor(JoinMergeParams.ProcessorName, JoinMergeProcessorSupplier, JoinLeftParams.ProcessorName, JoinRightParams.ProcessorName);

            builder.ConnectProcessorAndStateStore(JoinLeftParams.ProcessorName, leftStoreNames);
            builder.ConnectProcessorAndStateStore(JoinRightParams.ProcessorName, rightStoreNames);

            if (storeBuilder != null)
            {
                builder.AddStateStore(storeBuilder, JoinMergeParams.ProcessorName);
            }
        }
        public override void WriteToTopology(InternalTopologyBuilder builder)
        {
            // Stream - Table join (Global or KTable)
            builder.AddProcessor(processorParameters.ProcessorName, processorParameters.Processor, ParentNodeNames());

            // Steam - KTable join only
            if (!string.IsNullOrEmpty(otherJoinSideNodeName))
            {
                builder.ConnectProcessorAndStateStore(processorParameters.ProcessorName, storeNames);
            }
        }
        public override void WriteToTopology(InternalTopologyBuilder builder)
        {
            builder.AddProcessor(ProcessorParameters.ProcessorName, ProcessorParameters.Processor, ParentNodeNames());

            if (storeNames != null && storeNames.Length > 0)
            {
                builder.ConnectProcessorAndStateStore(ProcessorParameters.ProcessorName, storeNames);
            }

            if (storeBuilder != null)
            {
                builder.AddStateStore(storeBuilder, ProcessorParameters.ProcessorName);
            }
        }