Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Interfaces / API Changes (DSL only)

...

3 overloads for all APIs that create KTables: with and without store name. The alternative to store name is a StateStoreSupplier.

All API that create KTables will have 2 3 overloaded methods, one with the store name or with a StateStoreSupplier, and one without. Note that providing a null store name is the same as using the API with no store name.

...

In KTable.java overload each of the following APIs by adding store name and StateStoreSupplier (when they don't exist already):

  • KTable<K, V> filter(final Predicate<? super K, ? super V> predicate);
  • KTable<K, V> filterNot(final Predicate<? super K, ? super V> predicate);
  • <VR> KTable<K, VR> mapValues(final ValueMapper<? super V, ? extends VR> mapper);
  • KTable<K, V> through(final String topic) 
  • <VO, VR> KTable<K, VR> join(final KTable<K, VO> other, final ValueJoiner<? super V, ? super VO, ? extends VR> joiner);
  • <VO, VR> KTable<K, VR> leftJoin(final KTable<K, VO> other,  final ValueJoiner<? super V, ? super VO, ? extends VR> joiner);
  • <VO, VR> KTable<K, VR> outerJoin(final KTable<K, VO> other, final ValueJoiner<? super V, ? super VO, ? extends VR> joiner);

In KStreamBuilder.java overload each of the following APIs by adding store namename and StateStoreSupplier (when they don't exist already):

  •  public <K, V> KTable<K, V> table(final String topic);
  • public <K, V> GlobalKTable<K, V> globalTable(final String topic)

  • public <K, V> GlobalKTable<K, V> globalTable(final Serde<K> keySerde, final Serde<V> valSerde, final String topic)

In KGroupedTable.java overload each of the following APIs by adding store name and StateStoreSupplier  (when they don't exist already):

  • KTable<K, Long> count(final String storeName);
  • KTable<K, V> reduce(final Reducer<V> adder, final Reducer<V> subtractor);
  • <VR> KTable<K, VR> aggregate(final Initializer<VR> initializer, final Aggregator<? super K, ? super V, VR> adder, final Aggregator<? super K, ? super V, VR> subtractor)

In KGroupedStream.java overload each of the following APIs by adding store name and StateStoreSupplier  (when they don't exist already):

  • KTable<K, Long> count(final String storeName);
  • KTable<K, V> reduce(final Reducer<V> reducer);
  • <VR> KTable<K, VR> aggregate(final Initializer<VR> initializer, final Aggregator<? super K, ? super V, VR> aggregator, final Serde<VR> aggValueSerde);

...