K - the key typeV1 - this value typeV2 - other value typepublic class StreamJoined<K,V1,V2> extends Object
| Modifier and Type | Field and Description |
|---|---|
protected Serde<K> |
keySerde |
protected String |
name |
protected WindowBytesStoreSupplier |
otherStoreSupplier |
protected Serde<V2> |
otherValueSerde |
protected String |
storeName |
protected WindowBytesStoreSupplier |
thisStoreSupplier |
protected Serde<V1> |
valueSerde |
| Modifier | Constructor and Description |
|---|---|
protected |
StreamJoined(StreamJoined<K,V1,V2> streamJoined) |
| Modifier and Type | Method and Description |
|---|---|
static <K,V1,V2> StreamJoined<K,V1,V2> |
as(String storeName)
Creates a
StreamJoined instance using the provided name for the state stores and hence the changelog
topics for the join stores. |
String |
toString() |
static <K,V1,V2> StreamJoined<K,V1,V2> |
with(Serde<K> keySerde,
Serde<V1> valueSerde,
Serde<V2> otherValueSerde)
Creates a
StreamJoined instance with the provided serdes to configure the stores
for the join. |
static <K,V1,V2> StreamJoined<K,V1,V2> |
with(WindowBytesStoreSupplier storeSupplier,
WindowBytesStoreSupplier otherStoreSupplier)
Creates a StreamJoined instance with the provided store suppliers.
|
StreamJoined<K,V1,V2> |
withKeySerde(Serde<K> keySerde)
Configure with the provided
Serde for the key |
StreamJoined<K,V1,V2> |
withName(String name)
Set the name to use for the join processor and the repartition topic(s) if required.
|
StreamJoined<K,V1,V2> |
withOtherStoreSupplier(WindowBytesStoreSupplier otherStoreSupplier)
Configure with the provided
WindowBytesStoreSupplier for the other store supplier. |
StreamJoined<K,V1,V2> |
withOtherValueSerde(Serde<V2> otherValueSerde)
Configure with the provided
Serde for the other value |
StreamJoined<K,V1,V2> |
withStoreName(String storeName)
Sets the base store name to use for both sides of the join.
|
StreamJoined<K,V1,V2> |
withThisStoreSupplier(WindowBytesStoreSupplier thisStoreSupplier)
Configure with the provided
WindowBytesStoreSupplier for this store supplier. |
StreamJoined<K,V1,V2> |
withValueSerde(Serde<V1> valueSerde)
Configure with the provided
Serde for this value |
protected final WindowBytesStoreSupplier thisStoreSupplier
protected final WindowBytesStoreSupplier otherStoreSupplier
protected final String name
protected final String storeName
protected StreamJoined(StreamJoined<K,V1,V2> streamJoined)
public static <K,V1,V2> StreamJoined<K,V1,V2> with(WindowBytesStoreSupplier storeSupplier, WindowBytesStoreSupplier otherStoreSupplier)
WindowBytesStoreSupplier interface. The store suppliers must provide unique names or a
StreamsException is thrown.K - the key typeV1 - this value typeV2 - other value typestoreSupplier - this store supplierotherStoreSupplier - other store supplierStreamJoined instancepublic static <K,V1,V2> StreamJoined<K,V1,V2> as(String storeName)
StreamJoined instance using the provided name for the state stores and hence the changelog
topics for the join stores. The name for the stores will be ${applicationId}-<storeName>-this-join and ${applicationId}-<storeName>-other-join
or ${applicationId}-<storeName>-outer-this-join and ${applicationId}-<storeName>-outer-other-join depending if the join is an inner-join
or an outer join. The changelog topics will have the -changelog suffix. The user should note that even though the join stores will have a
specified name, the stores will remain unavailable for querying.K - The key typeV1 - This value typeV2 - Other value typestoreName - The name to use for the storeStreamJoined instancepublic static <K,V1,V2> StreamJoined<K,V1,V2> with(Serde<K> keySerde, Serde<V1> valueSerde, Serde<V2> otherValueSerde)
StreamJoined instance with the provided serdes to configure the stores
for the join.K - The key typeV1 - This value typeV2 - Other value typekeySerde - The key serdevalueSerde - This value serdeotherValueSerde - Other value serdeStreamJoined instancepublic StreamJoined<K,V1,V2> withName(String name)
name - the name to useStreamJoined instancepublic StreamJoined<K,V1,V2> withStoreName(String storeName)
storeName - the storeName to useStreamJoined instancepublic StreamJoined<K,V1,V2> withKeySerde(Serde<K> keySerde)
Serde for the keykeySerde - the serde to use for the keyStreamJoined configured with the keySerdepublic StreamJoined<K,V1,V2> withValueSerde(Serde<V1> valueSerde)
Serde for this valuevalueSerde - the serde to use for this value (calling or left side of the join)StreamJoined configured with the valueSerdepublic StreamJoined<K,V1,V2> withOtherValueSerde(Serde<V2> otherValueSerde)
Serde for the other valueotherValueSerde - the serde to use for the other value (other or right side of the join)StreamJoined configured with the otherValueSerdepublic StreamJoined<K,V1,V2> withThisStoreSupplier(WindowBytesStoreSupplier thisStoreSupplier)
WindowBytesStoreSupplier for this store supplier. Please note
this method only provides the store supplier for the left side of the join. If you wish to also provide a
store supplier for the right (i.e., other) side you must use the withOtherStoreSupplier(WindowBytesStoreSupplier)
methodthisStoreSupplier - the store supplier to use for this store supplier (calling or left side of the join)StreamJoined configured with thisStoreSupplierpublic StreamJoined<K,V1,V2> withOtherStoreSupplier(WindowBytesStoreSupplier otherStoreSupplier)
WindowBytesStoreSupplier for the other store supplier. Please note
this method only provides the store supplier for the right side of the join. If you wish to also provide a
store supplier for the left side you must use the withThisStoreSupplier(WindowBytesStoreSupplier)
methodotherStoreSupplier - the store supplier to use for the other store supplier (other or right side of the join)StreamJoined configured with otherStoreSupplier