...
The below tables will resume all new and existing method methods :
KStream
method | Added for this KIP ? | Object/method used for node name | Used for repartition topic name | Used for state store name ? | ||||
---|---|---|---|---|---|---|---|---|
filter(Predicate, Named) | YES | static Named#as(String) | N/A | N/A | ||||
filterNot(Predicate, Named) | YES | static Named#as(String) | N/A | N/A | ||||
selectKey(KeyValueMapper, Named) | YES | static Named#as(String) | N/A | N/A | ||||
map(KeyValueMapper, Named) | YES | static Named#as(String) | N/A | N/A | ||||
mapValues(ValueMapper, Named) | YES | static Named#as(String) | N/A | N/A | ||||
mapValues(ValueMapperWithKey, Named) | YES | static Named#as(String) | N/A | N/A | ||||
flatMap(KeyValueMapper, Named) | YES | static Named#as(String) | N/A | N/A | ||||
flatMapValues(ValueMapper, Named) | YES | static Named#as(String) | N/A | N/A | ||||
flatMapValues(ValueMapperWithKey, Named) | YES | static Named#as(String) | N/A | N/A | ||||
print(Printed) | NO | static Printed#as(String) | N/A | N/A | ||||
foreach(ForeachAction, Named) | YES | static Named#as(String) | N/A | N/A | ||||
peek(ForeachAction, Named) | YES | static Named#as(String) | N/A | N/A | ||||
branch(Named, Predicate...) | YES | static Named#as(String) | N/A | N/A | YES | static Named#as(String) | N/A | N/A |
through(String, Produced) | NO | static Produced#as(String) | N/A | N/A | ||||
to(String, Produced) | NO | static Produced#as(String) | N/A | N/A | ||||
to(TopicNameExtractor, Produced) | NO | static Produced#as(String) | N/A | N/A | ||||
transform(TransformerSupplier, Named named, String... ) | YES | static Named#as(String) | N/A | N/A | ||||
transformValues(ValueTransformerSupplier, Named named, String...) | YES | static Named#as(String) | N/A | N/A | ||||
transformValues( ValueTransformerWithKeySupplier, Named named, String...) | YES | static Named#as(String) | N/A | N/A | ||||
process(ProcessorSupplier, Named named, String...) | YES | static Named#as(String) | N/A | N/A | ||||
join( KStream, ValueJoiner, JoinWindows windows, Joined) | NO | static Joined#named(final String name) | static Joined#named(final String name) | static Joined#named(final String name) | ||||
leftJoin(KStream, ValueJoiner, JoinWindows, Joined) | NO | static Joined#named(final String name) | static Joined#named(final String name) | static Joined#named(final String name) | ||||
outerJoin(KStream, ValueJoiner, JoinWindows, Joined) | NO | static Joined#named(final String name) | static Joined#named(final String name) | static Joined#named(final String name) | ||||
join(KTable, ValueJoiner, Joined) | NO | static Joined#named(final String name) | static Joined#named(final String name) | N/A | ||||
leftJoin(KTable, ValueJoiner, Joined) | NO | static Joined#named(final String name) | static Joined#named(final String name) | N/A | ||||
join(GlobalKTable, KeyValueMapper, ValueJoiner) | NO | ??? | ??? | ??? | ||||
leftJoin(GlobalKTable, KeyValueMapper, ValueJoiner) | NO | ??? | ??? | ??? |
...
method | Added for this KIP ? | Object/method used for node name | Used for repartition topic name | Used for state store name ? |
---|---|---|---|---|
filter(Predicate, Named) | YES | static Named#as(String) | N/A | static Named#as(String) |
filter(Predicate, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
filterNot(Predicate, Named) | YES | static Named#as(String) | N/A | static Named#as(String) |
filterNot(Predicate, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
mapValues(ValueMapper, Named) | YES | static Named#as(String) | N/A | static Named#as(String) |
mapValues(ValueMapperWithKey, Named) | YES | static Named#as(String) | N/A | static Named#as(String) |
mapValues(ValueMapper, Named named, Materialized) | YES | static Named#as(String) | N/A | static Materialized#as(String) |
mapValues(ValueMapperWithKey, Named named, materializedMaterialized); | YES | static Named#as(String) | N/A | static Materialized#as(String) |
suppress(Suppressed) | NO | Suppressed#withName(String) | N/A | N/A |
transformValues(ValueTransformerWithKeySupplier, Named, String...) | YES | static Named#as(String) | N/A | static Named#as(String) |
transformValues(ValueTransformerWithKeySupplier, Materialized, Named named, String...) | YES | static Named#as(String) | N/A | static Materialized#as(String) |
groupBy(KeyValueMapper, KeyValue, Grouped) | NO | static Grouped#as(String) | static Grouped#as(String) | N/A |
join(KTable, ValueJoiner, Named) | YES | static Named#as(String) | N/A | static Named#as(String) |
join(KTable, ValueJoiner, Named named, Materialized) | YES | static Named#as(String) | N/A | static Materialized#as(String) |
leftJoin(KTable, ValueJoiner, Named); | YES | static Named#as(String) | N/A | static Named#as(String) |
leftJoin(KTable, ValueJoiner, Named named, Materialized) | YES | static Named#as(String) | N/A | static Materialized#as(String) |
outerJoin(KTable, ValueJoiner, Named); | YES | static Named#as(String) | N/A | static Named#as(String) |
outerJoin(KTable, ValueJoiner, Named named, Materialized) | YES | static Named#as(String) | N/A | static Materialized#as(String) |
KGroupedStream
WIP
KGroupedTable
WIP
TimeWindowedKStream
method | Added for this KIP ? | Object/method used for node name | Used for repartition topic name | Used for state store name ? |
---|---|---|---|---|
count(Named) | YES | static Named#as(String) | N/A |
NO | ||||
count(Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
reduce( |
Reducer, |
Named) | YES | static Named#as(String) | N/A | NO |
reduce(Reducer, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
aggregate(Initializer, Aggregator, Named) | YES | static Named#as(String) | N/A | NO |
aggregate(Initializer, Aggregator, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
KGroupedTable
WIP
TimeWindowedKStream
method | Added for this KIP ? | Object/method used for node name | Used for repartition topic name | Used for state store name ? | ||
---|---|---|---|---|---|---|
count(Named) | YES | static Named#as(String) | N/A | static Named#as(String) | ||
count(Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) | ||
aggregate(Initializer, Aggregator, Named) | YES | static Named#as(String) | N/A | static Named#as(String) | ||
aggregate(Initializer, Aggregator, Named, | static Named#as(String) | aggregate(Initializer, Aggregator, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
reduce(Reducer, Named) | YES | static Named#as(String) | N/A | static Named#as(String) | ||
reduce(Reducer, Named, Materialized) | YES | static Named#as(String) | N/A | Materialized#as(String) |
...
- The first proposition was to overload all stateless methods to accept an instance of Described class. However this solution was resulting in modiying a large percentage of the existing KStream and KTable methods.
- The second proposition was to add new methods KStreams#as(Described) and KTable#as(Described) while Described class would be used to customized the named of operation defined previously in the stream. However not only this new method was not conservative with the existing APIs but it also introduce some complexities for methods returning Void.
reduce(final Reducer<V> reducer, final Named named)