vvcephei commented on pull request #9107: URL: https://github.com/apache/kafka/pull/9107#issuecomment-756855647
Hey @inponomarev and @mjsax ! I'm glad to see this is moving along. Regarding https://github.com/apache/kafka/pull/9107#issuecomment-751922810 : My understanding was that defaultBranch/noDefaultBranch were the terminal operators, in that they close out the context of a BranchedKStream, and you can't add any more branches after one of those methods. But also, the whole branching construct is an incremental builder like the rest of the Kafka Streams API. In other words, just like this is a valid program: ```java builder.stream("input") .filter(myPredicate) ``` so would be Ivan's example: ```java builder.split() .branch("myBranch", ...) ``` What I mean by "incremental builder" is that each time you call a chained method in the DSL, it immediately adds nodes to the program, as opposed to having to call any kind of `build()` method to actually add stuff to the program. I think there are pros and cons to this design, but it seems more in line with the rest of the DSL not to require the terminal operators. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org