Package io.debezium.schema
Class AbstractTopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
java.lang.Object
io.debezium.schema.AbstractTopicNamingStrategy<I>
- All Implemented Interfaces:
io.debezium.spi.topic.TopicNamingStrategy<I>
- Direct Known Subclasses:
AbstractRegexTopicNamingStrategy,AbstractUnicodeTopicNamingStrategy,DefaultTopicNamingStrategy,SchemaTopicNamingStrategy
@Incubating
public abstract class AbstractTopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
extends Object
implements io.debezium.spi.topic.TopicNamingStrategy<I>
An abstract implementation of
TopicNamingStrategy.- Author:
- Harvey Yue
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.debezium.spi.topic.TopicNamingStrategy
io.debezium.spi.topic.TopicNamingStrategy.TopicSchemaAugment<S>, io.debezium.spi.topic.TopicNamingStrategy.TopicValueAugment<I extends io.debezium.spi.schema.DataCollectionId,S, R> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringprotected Stringprotected Stringprotected Stringprivate static final org.slf4j.Loggerprotected booleanprotected Stringprotected io.debezium.spi.common.ReplacementFunctionstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldstatic final io.debezium.config.Fieldprotected StringFields inherited from interface io.debezium.spi.topic.TopicNamingStrategy
MAX_NAME_LENGTH, NO_SCHEMA_OP, NO_VALUE_OP -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidconfigure(Properties props) abstract StringdataChangeTopic(I id) protected StringgetSchemaPartsTopicName(io.debezium.spi.schema.DataCollectionId id) protected booleanisValidCharacter(char c) protected StringsanitizedTopicName(String topicName) static intvalidateHeartbeatTopicName(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface io.debezium.spi.topic.TopicNamingStrategy
keySchemaAugment, keyValueAugment, recordSchemaPrefix
-
Field Details
-
DEFAULT_HEARTBEAT_TOPIC_PREFIX
- See Also:
-
DEFAULT_TRANSACTION_TOPIC
- See Also:
-
TOPIC_DELIMITER
public static final io.debezium.config.Field TOPIC_DELIMITER -
TOPIC_CACHE_SIZE
public static final io.debezium.config.Field TOPIC_CACHE_SIZE -
TOPIC_HEARTBEAT_PREFIX
public static final io.debezium.config.Field TOPIC_HEARTBEAT_PREFIX -
TOPIC_HEARTBEAT_NAME
public static final io.debezium.config.Field TOPIC_HEARTBEAT_NAME -
TOPIC_TRANSACTION
public static final io.debezium.config.Field TOPIC_TRANSACTION -
LOGGER
private static final org.slf4j.Logger LOGGER -
topicNames
-
delimiter
-
prefix
-
transaction
-
heartbeatPrefix
-
heartbeatTopicName
-
multiPartitionMode
protected boolean multiPartitionMode -
replacement
protected io.debezium.spi.common.ReplacementFunction replacement
-
-
Constructor Details
-
AbstractTopicNamingStrategy
-
-
Method Details
-
configure
- Specified by:
configurein interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
dataChangeTopic
- Specified by:
dataChangeTopicin interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
schemaChangeTopic
- Specified by:
schemaChangeTopicin interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
heartbeatTopic
- Specified by:
heartbeatTopicin interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
transactionTopic
- Specified by:
transactionTopicin interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
sanitizedTopicName
- Specified by:
sanitizedTopicNamein interfaceio.debezium.spi.topic.TopicNamingStrategy<I extends io.debezium.spi.schema.DataCollectionId>
-
validateHeartbeatTopicName
public static int validateHeartbeatTopicName(io.debezium.config.Configuration config, io.debezium.config.Field field, io.debezium.config.Field.ValidationOutput problems) -
isValidCharacter
protected boolean isValidCharacter(char c) -
mkString
-
getSchemaPartsTopicName
-