Class Repartitioned<K,​V>

    • Field Detail

      • name

        protected final String name
      • keySerde

        protected final Serde<K> keySerde
      • valueSerde

        protected final Serde<V> valueSerde
      • numberOfPartitions

        protected final Integer numberOfPartitions
    • Constructor Detail

      • Repartitioned

        protected Repartitioned​(Repartitioned<K,​V> repartitioned)
    • Method Detail

      • as

        public static <K,​V> Repartitioned<K,​V> as​(String name)
        Create a Repartitioned instance with the provided name used as part of the repartition topic.
        Type Parameters:
        K - key type
        V - value type
        Parameters:
        name - the name used as a processor named and part of the repartition topic name.
        Returns:
        A new Repartitioned instance configured with processor name and repartition topic name
        See Also:
        KStream.repartition(Repartitioned)
      • with

        public static <K,​V> Repartitioned<K,​V> with​(Serde<K> keySerde,
                                                                Serde<V> valueSerde)
        Create a Repartitioned instance with provided key serde and value serde.
        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 Repartitioned instance configured with key serde and value serde
        See Also:
        KStream.repartition(Repartitioned)
      • streamPartitioner

        public static <K,​V> Repartitioned<K,​V> streamPartitioner​(StreamPartitioner<K,​V> partitioner)
        Create a Repartitioned 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 Repartitioned instance configured with partitioner
        See Also:
        KStream.repartition(Repartitioned)
      • numberOfPartitions

        public static <K,​V> Repartitioned<K,​V> numberOfPartitions​(int numberOfPartitions)
        Create a Repartitioned instance with provided number of partitions for repartition topic.
        Type Parameters:
        K - key type
        V - value type
        Parameters:
        numberOfPartitions - number of partitions used when creating repartition topic
        Returns:
        A new Repartitioned instance configured number of partitions
        See Also:
        KStream.repartition(Repartitioned)
      • withName

        public Repartitioned<K,​V> withName​(String name)
        Create a new instance of Repartitioned with the provided name used as part of repartition topic and processor name.
        Parameters:
        name - the name used for the processor name and as part of the repartition topic
        Returns:
        a new Repartitioned instance configured with the name
      • withNumberOfPartitions

        public Repartitioned<K,​V> withNumberOfPartitions​(int numberOfPartitions)
        Create a new instance of Repartitioned with the provided number of partitions for repartition topic.
        Parameters:
        numberOfPartitions - the name used for the processor name and as part of the repartition topic name
        Returns:
        a new Repartitioned instance configured with the number of partitions
      • withKeySerde

        public Repartitioned<K,​V> withKeySerde​(Serde<K> keySerde)
        Create a new instance of Repartitioned with the provided key serde.
        Parameters:
        keySerde - Serde to use for serializing the key
        Returns:
        a new Repartitioned instance configured with the key serde
      • withValueSerde

        public Repartitioned<K,​V> withValueSerde​(Serde<V> valueSerde)
        Create a new instance of Repartitioned with the provided value serde.
        Parameters:
        valueSerde - Serde to use for serializing the value
        Returns:
        a new Repartitioned instance configured with the value serde
      • withStreamPartitioner

        public Repartitioned<K,​V> withStreamPartitioner​(StreamPartitioner<K,​V> partitioner)
        Create a new instance of Repartitioned with 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:
        a new Repartitioned instance configured with provided partitioner