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


Reply via email to