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