K - this key type ; key type for the left (primary) tableKO - other key type ; key type for the right (foreign key) tablepublic class TableJoined<K,KO> extends Object
TableJoined class represents optional parameters that can be passed to
KTable#join(KTable,Function,...) and
KTable#leftJoin(KTable,Function,...)
operations, for foreign key joins.| Modifier and Type | Field and Description |
|---|---|
protected String |
name |
protected StreamPartitioner<KO,Void> |
otherPartitioner |
protected StreamPartitioner<K,Void> |
partitioner |
| Modifier | Constructor and Description |
|---|---|
protected |
TableJoined(TableJoined<K,KO> tableJoined) |
| Modifier and Type | Method and Description |
|---|---|
static <K,KO> TableJoined<K,KO> |
as(String name)
Create an instance of
TableJoined with base name for all components of the join, including internal topics
created to complete the join. |
static <K,KO> TableJoined<K,KO> |
with(StreamPartitioner<K,Void> partitioner,
StreamPartitioner<KO,Void> otherPartitioner)
Create an instance of
TableJoined with partitioner and otherPartitioner StreamPartitioner instances. |
TableJoined<K,KO> |
withName(String name)
Set the base name used for all components of the join, including internal topics
created to complete the join.
|
TableJoined<K,KO> |
withOtherPartitioner(StreamPartitioner<KO,Void> otherPartitioner)
Set the custom other
StreamPartitioner to be used as part of computing the join. |
TableJoined<K,KO> |
withPartitioner(StreamPartitioner<K,Void> partitioner)
Set the custom
StreamPartitioner to be used as part of computing the join. |
protected final StreamPartitioner<K,Void> partitioner
protected final StreamPartitioner<KO,Void> otherPartitioner
protected final String name
protected TableJoined(TableJoined<K,KO> tableJoined)
public static <K,KO> TableJoined<K,KO> with(StreamPartitioner<K,Void> partitioner, StreamPartitioner<KO,Void> otherPartitioner)
TableJoined with partitioner and otherPartitioner StreamPartitioner instances.
null values are accepted and will result in the default partitioner being used.K - this key type ; key type for the left (primary) tableKO - other key type ; key type for the right (foreign key) tablepartitioner - a StreamPartitioner that captures the partitioning strategy for the left (primary)
table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the left join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null if the source table uses the default partitioner.otherPartitioner - a StreamPartitioner that captures the partitioning strategy for the right (foreign
key) table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the right join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null if the source table uses the default partitioner.TableJoined instance with the provided partitionerspublic static <K,KO> TableJoined<K,KO> as(String name)
TableJoined with base name for all components of the join, including internal topics
created to complete the join.K - this key type ; key type for the left (primary) tableKO - other key type ; key type for the right (foreign key) tablename - the name used as the base for naming components of the join including internal topicsTableJoined instance configured with the namepublic TableJoined<K,KO> withPartitioner(StreamPartitioner<K,Void> partitioner)
StreamPartitioner to be used as part of computing the join.
null values are accepted and will result in the default partitioner being used.partitioner - a StreamPartitioner that captures the partitioning strategy for the left (primary)
table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the left join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null if the source table uses the default partitioner.TableJoined instance configured with the partitionerpublic TableJoined<K,KO> withOtherPartitioner(StreamPartitioner<KO,Void> otherPartitioner)
StreamPartitioner to be used as part of computing the join.
null values are accepted and will result in the default partitioner being used.otherPartitioner - a StreamPartitioner that captures the partitioning strategy for the right (foreign
key) table of the foreign key join. Specifying this option does not repartition or otherwise
affect the source table; rather, this option informs the foreign key join on how internal
topics should be partitioned in order to be co-partitioned with the right join table.
The partitioning strategy must depend only on the message key and not the message value,
else the source table is not supported with foreign key joins. This option may be left
null if the source table uses the default partitioner.TableJoined instance configured with the otherPartitionerpublic TableJoined<K,KO> withName(String name)
name - the name used as the base for naming components of the join including internal topicsTableJoined instance configured with the name