K - the type of the key in this tableV - the type of the value in this tableD - the type of the concrete table descriptorpublic abstract class LocalTableDescriptor<K,V,D extends LocalTableDescriptor<K,V,D>> extends BaseTableDescriptor<K,V,D>
| Modifier and Type | Field and Description | 
|---|---|
| protected java.lang.Integer | changelogReplicationFactor | 
| protected java.lang.String | changelogStream | 
| protected boolean | enableChangelog | 
| protected KVSerde<K,V> | serde | 
| protected java.util.List<java.lang.String> | sideInputs | 
| protected SideInputsProcessor | sideInputsProcessor | 
| static java.util.regex.Pattern | SYSTEM_STREAM_NAME_PATTERN | 
config, tableId| Constructor and Description | 
|---|
| LocalTableDescriptor(java.lang.String tableId,
                    KVSerde<K,V> serde)Constructs a table descriptor instance | 
| Modifier and Type | Method and Description | 
|---|---|
| protected void | addStoreConfig(java.lang.String key,
              java.lang.String value,
              java.util.Map<java.lang.String,java.lang.String> tableConfig)Helper method to add a store level config item to table configuration | 
| KVSerde<K,V> | getSerde()Get the serde assigned to this  TableDescriptor | 
| java.util.List<java.lang.String> | getSideInputs()Get side input stream names | 
| java.util.Map<java.lang.String,java.lang.String> | toConfig(Config jobConfig)Generate configuration for this table descriptor, the generated configuration
 should be the complete configuration for this table that can be directly
 included in the job configuration. | 
| protected void | validate()Validate that this table descriptor is constructed properly; this method is used internally. | 
| D | withChangelogEnabled()Enable changelog for this table, by default changelog is disabled. | 
| D | withChangelogReplicationFactor(int replicationFactor)The property defines the number of replicas to use for the change log stream. | 
| D | withChangelogStream(java.lang.String changelogStream)Samza stores are local to a container. | 
| D | withSideInputs(java.util.List<java.lang.String> sideInputs) | 
| D | withSideInputsProcessor(SideInputsProcessor sideInputsProcessor) | 
addTableConfig, getProviderFactoryClassName, getTableId, withConfigpublic static final java.util.regex.Pattern SYSTEM_STREAM_NAME_PATTERN
protected boolean enableChangelog
protected java.lang.String changelogStream
protected java.lang.Integer changelogReplicationFactor
protected java.util.List<java.lang.String> sideInputs
protected SideInputsProcessor sideInputsProcessor
public D withSideInputs(java.util.List<java.lang.String> sideInputs)
public D withSideInputsProcessor(SideInputsProcessor sideInputsProcessor)
public D withChangelogEnabled()
stores.store-name.changelog in Samza configuration guidepublic D withChangelogStream(java.lang.String changelogStream)
job.changelog.system config. Any output stream can be used as
 changelog, but you must ensure that only one job ever writes to a given changelog
 stream (each instance of a job and each store needs its own changelog stream).
 
 Refer to stores.store-name.changelog in Samza configuration guide
changelogStream - changelog stream namepublic D withChangelogReplicationFactor(int replicationFactor)
 Default value is stores.default.changelog.replication.factor.
 
 Refer to stores.store-name.changelog.replication.factor in Samza configuration guide
replicationFactor - replication factorpublic java.util.Map<java.lang.String,java.lang.String> toConfig(Config jobConfig)
jobConfig.
 Note: Serdes are expected to be generated during configuration generation
 of the job node, which is not handled here.toConfig in interface TableDescriptor<K,V,D extends LocalTableDescriptor<K,V,D>>toConfig in class BaseTableDescriptor<K,V,D extends LocalTableDescriptor<K,V,D>>jobConfig - job configurationpublic java.util.List<java.lang.String> getSideInputs()
public KVSerde<K,V> getSerde()
TableDescriptorKVSerde used by this tableprotected void validate()
BaseTableDescriptorvalidate in class BaseTableDescriptor<K,V,D extends LocalTableDescriptor<K,V,D>>protected void addStoreConfig(java.lang.String key,
                              java.lang.String value,
                              java.util.Map<java.lang.String,java.lang.String> tableConfig)
key - key of the config itemvalue - value of the config itemtableConfig - table configuration