Class MaterializedX<K,V,S extends org.apache.kafka.streams.processor.StateStore>

java.lang.Object
com.bakdata.kafka.streams.kstream.MaterializedX<K,V,S>
Type Parameters:
K - type of keys
V - type of values
S - type of state store

public final class MaterializedX<K,V,S extends org.apache.kafka.streams.processor.StateStore> extends Object
Use Preconfigured to lazily configure Serde for Materialized using Configurator
See Also:
  • Materialized
  • Method Summary

    Modifier and Type
    Method
    Description
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    as(String storeName)
     
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    as(org.apache.kafka.streams.state.DslStoreSuppliers storeSuppliers)
     
    static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.KeyValueStore<org.apache.kafka.common.utils.Bytes,byte[]>>
    as(org.apache.kafka.streams.state.KeyValueBytesStoreSupplier supplier)
     
    static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.SessionStore<org.apache.kafka.common.utils.Bytes,byte[]>>
    as(org.apache.kafka.streams.state.SessionBytesStoreSupplier supplier)
     
    static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.WindowStore<org.apache.kafka.common.utils.Bytes,byte[]>>
    as(org.apache.kafka.streams.state.WindowBytesStoreSupplier supplier)
     
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    keySerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde)
    Create an instance of MaterializedX with provided key serde
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    keySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
    Create an instance of MaterializedX with provided key serde
    protected final MaterializedX<K,V,S>
    modify(BiFunction<? super org.apache.kafka.streams.kstream.Materialized<K,V,S>,? super com.bakdata.kafka.Configurator,? extends org.apache.kafka.streams.kstream.Materialized<K,V,S>> modifier)
     
    protected final MaterializedX<K,V,S>
    modify(Function<? super org.apache.kafka.streams.kstream.Materialized<K,V,S>,? extends org.apache.kafka.streams.kstream.Materialized<K,V,S>> modifier)
     
    protected MaterializedX<K,V,S>
    newInstance(Function<com.bakdata.kafka.Configurator,org.apache.kafka.streams.kstream.Materialized<K,V,S>> initializer)
     
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    valueSerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
    Create an instance of MaterializedX with provided value serde
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    valueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)
    Create an instance of MaterializedX with provided value serde
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    with(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde, com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
     
    static <K, V, S extends org.apache.kafka.streams.processor.StateStore>
    MaterializedX<K,V,S>
    with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde)
     
     
     
    withKeySerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde)
     
    withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
     
     
     
     
    withStoreType(org.apache.kafka.streams.state.DslStoreSuppliers storeSuppliers)
     
    withValueSerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
     
    withValueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Method Details

    • keySerde

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> keySerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde)
      Create an instance of MaterializedX with provided key serde
      Type Parameters:
      K - type of keys
      V - type of values
      S - type of state store
      Parameters:
      keySerde - Serde to use for keys
      Returns:
      a new instance of MaterializedX
    • keySerde

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> keySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
      Create an instance of MaterializedX with provided key serde
      Type Parameters:
      K - type of keys
      V - type of values
      S - type of state store
      Parameters:
      keySerde - Serde to use for keys
      Returns:
      a new instance of MaterializedX
    • valueSerde

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> valueSerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
      Create an instance of MaterializedX with provided value serde
      Type Parameters:
      K - type of keys
      V - type of values
      S - type of state store
      Parameters:
      valueSerde - Serde to use for values
      Returns:
      a new instance of MaterializedX
    • valueSerde

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> valueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)
      Create an instance of MaterializedX with provided value serde
      Type Parameters:
      K - type of keys
      V - type of values
      S - type of state store
      Parameters:
      valueSerde - Serde to use for values
      Returns:
      a new instance of MaterializedX
    • with

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> with(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde, com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
      See Also:
      • Materialized.with(Serde, Serde)
    • with

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> with(org.apache.kafka.common.serialization.Serde<K> keySerde, org.apache.kafka.common.serialization.Serde<V> valueSerde)
      See Also:
      • Materialized.with(Serde, Serde)
    • as

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> as(String storeName)
      See Also:
      • Materialized.as(String)
    • as

      public static <K, V, S extends org.apache.kafka.streams.processor.StateStore> MaterializedX<K,V,S> as(org.apache.kafka.streams.state.DslStoreSuppliers storeSuppliers)
      See Also:
      • Materialized.as(DslStoreSuppliers)
    • as

      public static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.WindowStore<org.apache.kafka.common.utils.Bytes,byte[]>> as(org.apache.kafka.streams.state.WindowBytesStoreSupplier supplier)
      See Also:
      • Materialized.as(WindowBytesStoreSupplier)
    • as

      public static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.SessionStore<org.apache.kafka.common.utils.Bytes,byte[]>> as(org.apache.kafka.streams.state.SessionBytesStoreSupplier supplier)
      See Also:
      • Materialized.as(SessionBytesStoreSupplier)
    • as

      public static <K, V> MaterializedX<K,V,org.apache.kafka.streams.state.KeyValueStore<org.apache.kafka.common.utils.Bytes,byte[]>> as(org.apache.kafka.streams.state.KeyValueBytesStoreSupplier supplier)
      See Also:
      • Materialized.as(KeyValueBytesStoreSupplier)
    • withKeySerde

      public MaterializedX<K,V,S> withKeySerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<K>> keySerde)
      See Also:
      • Materialized.withKeySerde(Serde)
    • withKeySerde

      public MaterializedX<K,V,S> withKeySerde(org.apache.kafka.common.serialization.Serde<K> keySerde)
      See Also:
      • Materialized.withKeySerde(Serde)
    • withValueSerde

      public MaterializedX<K,V,S> withValueSerde(com.bakdata.kafka.Preconfigured<? extends org.apache.kafka.common.serialization.Serde<V>> valueSerde)
      See Also:
      • Materialized.withValueSerde(Serde)
    • withValueSerde

      public MaterializedX<K,V,S> withValueSerde(org.apache.kafka.common.serialization.Serde<V> valueSerde)
      See Also:
      • Materialized.withValueSerde(Serde)
    • withRetention

      public MaterializedX<K,V,S> withRetention(Duration retention)
      See Also:
      • Materialized.withRetention(Duration)
    • withStoreType

      public MaterializedX<K,V,S> withStoreType(org.apache.kafka.streams.state.DslStoreSuppliers storeSuppliers)
      See Also:
      • Materialized.withStoreType(DslStoreSuppliers)
    • withLoggingEnabled

      public MaterializedX<K,V,S> withLoggingEnabled(Map<String,String> config)
      See Also:
      • Materialized.withLoggingEnabled(Map)
    • withLoggingDisabled

      public MaterializedX<K,V,S> withLoggingDisabled()
      See Also:
      • Materialized.withLoggingDisabled()
    • withCachingDisabled

      public MaterializedX<K,V,S> withCachingDisabled()
      See Also:
      • Materialized.withCachingDisabled()
    • withCachingEnabled

      public MaterializedX<K,V,S> withCachingEnabled()
      See Also:
      • Materialized.withCachingEnabled()
    • newInstance

      protected MaterializedX<K,V,S> newInstance(Function<com.bakdata.kafka.Configurator,org.apache.kafka.streams.kstream.Materialized<K,V,S>> initializer)
    • modify

      protected final MaterializedX<K,V,S> modify(BiFunction<? super org.apache.kafka.streams.kstream.Materialized<K,V,S>,? super com.bakdata.kafka.Configurator,? extends org.apache.kafka.streams.kstream.Materialized<K,V,S>> modifier)
    • modify

      protected final MaterializedX<K,V,S> modify(Function<? super org.apache.kafka.streams.kstream.Materialized<K,V,S>,? extends org.apache.kafka.streams.kstream.Materialized<K,V,S>> modifier)