Class Produced<K,​V>

java.lang.Object
org.apache.kafka.streams.kstream.Produced<K,​V>
Type Parameters:
K - key type
V - value type

public class Produced<K,​V>
extends Object
This class is used to provide the optional parameters when producing to new topics using KStream.to(String, Produced).
  • Field Details

    • keySerde

      protected Serde<K> keySerde
    • valueSerde

      protected Serde<V> valueSerde
    • partitioner

      protected StreamPartitioner<? super K,​? super V> partitioner
    • processorName

      protected String processorName
  • Constructor Details

    • Produced

      protected Produced​(Produced<K,​V> produced)
  • Method Details

    • with

      public static <K,​ V> Produced<K,​V> with​(Serde<K> keySerde, Serde<V> valueSerde)
      Create a Produced instance with provided keySerde and valueSerde.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      keySerde - Serde to use for serializing the key
      valueSerde - Serde to use for serializing the value
      Returns:
      A new Produced instance configured with keySerde and valueSerde
      See Also:
      KStream.to(String, Produced)
    • with

      public static <K,​ V> Produced<K,​V> with​(Serde<K> keySerde, Serde<V> valueSerde, StreamPartitioner<? super K,​? super V> partitioner)
      Create a Produced instance with provided keySerde, valueSerde, and partitioner.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      keySerde - Serde to use for serializing the key
      valueSerde - Serde to use for serializing the value
      partitioner - the function used to determine how records are distributed among partitions of the topic, if not specified and keySerde provides a WindowedSerializer for the key WindowedStreamPartitioner will be used—otherwise DefaultPartitioner will be used
      Returns:
      A new Produced instance configured with keySerde, valueSerde, and partitioner
      See Also:
      KStream.to(String, Produced)
    • as

      public static <K,​ V> Produced<K,​V> as​(String processorName)
      Create an instance of Produced with provided processor name.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      processorName - the processor name to be used. If null a default processor name will be generated
      Returns:
      a new instance of Produced
    • keySerde

      public static <K,​ V> Produced<K,​V> keySerde​(Serde<K> keySerde)
      Create a Produced instance with provided keySerde.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      keySerde - Serde to use for serializing the key
      Returns:
      A new Produced instance configured with keySerde
      See Also:
      KStream.to(String, Produced)
    • valueSerde

      public static <K,​ V> Produced<K,​V> valueSerde​(Serde<V> valueSerde)
      Create a Produced instance with provided valueSerde.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      valueSerde - Serde to use for serializing the key
      Returns:
      A new Produced instance configured with valueSerde
      See Also:
      KStream.to(String, Produced)
    • streamPartitioner

      public static <K,​ V> Produced<K,​V> streamPartitioner​(StreamPartitioner<? super K,​? super V> partitioner)
      Create a Produced instance with provided partitioner.
      Type Parameters:
      K - key type
      V - value type
      Parameters:
      partitioner - the function used to determine how records are distributed among partitions of the topic, if not specified and the key serde provides a WindowedSerializer for the key WindowedStreamPartitioner will be used—otherwise DefaultPartitioner will be used
      Returns:
      A new Produced instance configured with partitioner
      See Also:
      KStream.to(String, Produced)
    • withStreamPartitioner

      public Produced<K,​V> withStreamPartitioner​(StreamPartitioner<? super K,​? super V> partitioner)
      Produce records using the provided partitioner.
      Parameters:
      partitioner - the function used to determine how records are distributed among partitions of the topic, if not specified and the key serde provides a WindowedSerializer for the key WindowedStreamPartitioner will be used—otherwise DefaultPartitioner wil be used
      Returns:
      this
    • withValueSerde

      public Produced<K,​V> withValueSerde​(Serde<V> valueSerde)
      Produce records using the provided valueSerde.
      Parameters:
      valueSerde - Serde to use for serializing the value
      Returns:
      this
    • withKeySerde

      public Produced<K,​V> withKeySerde​(Serde<K> keySerde)
      Produce records using the provided keySerde.
      Parameters:
      keySerde - Serde to use for serializing the key
      Returns:
      this
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • withName

      public Produced<K,​V> withName​(String name)