Versions Compared

Key

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

Table of Contents

Status

Current stateUnder DiscussionDiscarded (duplicated by KIP-160)

Discussion thread:

JIRA: here

Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).

Motivation

As for now, KStream#print leads to a predefined output where key and value are printed with comma separation:

...

Code Block
languagejava
"[" + this.streamName + "]: " + mapper.apply(keyToPrint, valueToPrint)

Public Interfaces

The affected interface is KStream, which needs to be extended with another overloaded version of print:

Code Block
languagejava
void print(final Serde<K> keySerde,
           final Serde<V> valSerde,
           final String streamName,
           final KeyValueMapper<K, V, String> mapper);

 

 

Proposed Changes

...

Apart from the extension of the interface, the previous implementation of print will be call a new overloaded version thereof. In case no KeyValuemapper is set, null serves as the indicator to use the default output

...

:

 

Code Block
languagejava
@Override
public void print(Serde<K> keySerde, Serde<V> valSerde, String streamName) {
    print(keySerde, valSerde, streamName, null);
}

@Override
public void print(final Serde<K> keySerde, final Serde<V> valSerde, String streamName, final KeyValueMapper<K, V, String> mapper){
...

 

...