/* Generated by camel build tools - do NOT edit this file! */
package org.apache.camel.component.debezium.oracle;

import javax.annotation.processing.Generated;
import java.util.Map;

import org.apache.camel.CamelContext;
import org.apache.camel.spi.ExtendedPropertyConfigurerGetter;
import org.apache.camel.spi.PropertyConfigurerGetter;
import org.apache.camel.spi.ConfigurerStrategy;
import org.apache.camel.spi.GeneratedPropertyConfigurer;
import org.apache.camel.util.CaseInsensitiveMap;
import org.apache.camel.support.component.PropertyConfigurerSupport;

/**
 * Generated by camel build tools - do NOT edit this file!
 */
@Generated("org.apache.camel.maven.packaging.EndpointSchemaGeneratorMojo")
@SuppressWarnings("unchecked")
public class DebeziumOracleComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {

    private org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration getOrCreateConfiguration(DebeziumOracleComponent target) {
        if (target.getConfiguration() == null) {
            target.setConfiguration(new org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration());
        }
        return target.getConfiguration();
    }

    @Override
    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
        DebeziumOracleComponent target = (DebeziumOracleComponent) obj;
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": getOrCreateConfiguration(target).setAdditionalProperties(property(camelContext, java.util.Map.class, value)); return true;
        case "archivedestinationname":
        case "archiveDestinationName": getOrCreateConfiguration(target).setArchiveDestinationName(property(camelContext, java.lang.String.class, value)); return true;
        case "archiveloghours":
        case "archiveLogHours": getOrCreateConfiguration(target).setArchiveLogHours(property(camelContext, long.class, value)); return true;
        case "autowiredenabled":
        case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
        case "binaryhandlingmode":
        case "binaryHandlingMode": getOrCreateConfiguration(target).setBinaryHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "bridgeerrorhandler":
        case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
        case "columnexcludelist":
        case "columnExcludeList": getOrCreateConfiguration(target).setColumnExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "columnincludelist":
        case "columnIncludeList": getOrCreateConfiguration(target).setColumnIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "columnpropagatesourcetype":
        case "columnPropagateSourceType": getOrCreateConfiguration(target).setColumnPropagateSourceType(property(camelContext, java.lang.String.class, value)); return true;
        case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.class, value)); return true;
        case "connectionvalidationtimeoutms":
        case "connectionValidationTimeoutMs": getOrCreateConfiguration(target).setConnectionValidationTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "converters": getOrCreateConfiguration(target).setConverters(property(camelContext, java.lang.String.class, value)); return true;
        case "custommetrictags":
        case "customMetricTags": getOrCreateConfiguration(target).setCustomMetricTags(property(camelContext, java.lang.String.class, value)); return true;
        case "customsanitizepattern":
        case "customSanitizePattern": getOrCreateConfiguration(target).setCustomSanitizePattern(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseconnectionadapter":
        case "databaseConnectionAdapter": getOrCreateConfiguration(target).setDatabaseConnectionAdapter(property(camelContext, java.lang.String.class, value)); return true;
        case "databasedbname":
        case "databaseDbname": getOrCreateConfiguration(target).setDatabaseDbname(property(camelContext, java.lang.String.class, value)); return true;
        case "databasehostname":
        case "databaseHostname": getOrCreateConfiguration(target).setDatabaseHostname(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseoutservername":
        case "databaseOutServerName": getOrCreateConfiguration(target).setDatabaseOutServerName(property(camelContext, java.lang.String.class, value)); return true;
        case "databasepassword":
        case "databasePassword": getOrCreateConfiguration(target).setDatabasePassword(property(camelContext, java.lang.String.class, value)); return true;
        case "databasepdbname":
        case "databasePdbName": getOrCreateConfiguration(target).setDatabasePdbName(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseport":
        case "databasePort": getOrCreateConfiguration(target).setDatabasePort(property(camelContext, int.class, value)); return true;
        case "databasequerytimeoutms":
        case "databaseQueryTimeoutMs": getOrCreateConfiguration(target).setDatabaseQueryTimeoutMs(property(camelContext, int.class, value)); return true;
        case "databaseurl":
        case "databaseUrl": getOrCreateConfiguration(target).setDatabaseUrl(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseuser":
        case "databaseUser": getOrCreateConfiguration(target).setDatabaseUser(property(camelContext, java.lang.String.class, value)); return true;
        case "datatypepropagatesourcetype":
        case "datatypePropagateSourceType": getOrCreateConfiguration(target).setDatatypePropagateSourceType(property(camelContext, java.lang.String.class, value)); return true;
        case "decimalhandlingmode":
        case "decimalHandlingMode": getOrCreateConfiguration(target).setDecimalHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "errorsmaxretries":
        case "errorsMaxRetries": getOrCreateConfiguration(target).setErrorsMaxRetries(property(camelContext, int.class, value)); return true;
        case "eventprocessingfailurehandlingmode":
        case "eventProcessingFailureHandlingMode": getOrCreateConfiguration(target).setEventProcessingFailureHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "executorshutdowntimeoutms":
        case "executorShutdownTimeoutMs": getOrCreateConfiguration(target).setExecutorShutdownTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "extendedheadersenabled":
        case "extendedHeadersEnabled": getOrCreateConfiguration(target).setExtendedHeadersEnabled(property(camelContext, boolean.class, value)); return true;
        case "guardrailcollectionslimitaction":
        case "guardrailCollectionsLimitAction": getOrCreateConfiguration(target).setGuardrailCollectionsLimitAction(property(camelContext, java.lang.String.class, value)); return true;
        case "guardrailcollectionsmax":
        case "guardrailCollectionsMax": getOrCreateConfiguration(target).setGuardrailCollectionsMax(property(camelContext, int.class, value)); return true;
        case "heartbeatactionquery":
        case "heartbeatActionQuery": getOrCreateConfiguration(target).setHeartbeatActionQuery(property(camelContext, java.lang.String.class, value)); return true;
        case "heartbeatintervalms":
        case "heartbeatIntervalMs": getOrCreateConfiguration(target).setHeartbeatIntervalMs(property(camelContext, int.class, value)); return true;
        case "heartbeattopicsprefix":
        case "heartbeatTopicsPrefix": getOrCreateConfiguration(target).setHeartbeatTopicsPrefix(property(camelContext, java.lang.String.class, value)); return true;
        case "includeschemachanges":
        case "includeSchemaChanges": getOrCreateConfiguration(target).setIncludeSchemaChanges(property(camelContext, boolean.class, value)); return true;
        case "includeschemacomments":
        case "includeSchemaComments": getOrCreateConfiguration(target).setIncludeSchemaComments(property(camelContext, boolean.class, value)); return true;
        case "incrementalsnapshotwatermarkingstrategy":
        case "incrementalSnapshotWatermarkingStrategy": getOrCreateConfiguration(target).setIncrementalSnapshotWatermarkingStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "internalkeyconverter":
        case "internalKeyConverter": getOrCreateConfiguration(target).setInternalKeyConverter(property(camelContext, java.lang.String.class, value)); return true;
        case "internalvalueconverter":
        case "internalValueConverter": getOrCreateConfiguration(target).setInternalValueConverter(property(camelContext, java.lang.String.class, value)); return true;
        case "intervalhandlingmode":
        case "intervalHandlingMode": getOrCreateConfiguration(target).setIntervalHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "legacydecimalhandlingstrategy":
        case "legacyDecimalHandlingStrategy": getOrCreateConfiguration(target).setLegacyDecimalHandlingStrategy(property(camelContext, boolean.class, value)); return true;
        case "lobenabled":
        case "lobEnabled": getOrCreateConfiguration(target).setLobEnabled(property(camelContext, boolean.class, value)); return true;
        case "logminingarchivelogonlymode":
        case "logMiningArchiveLogOnlyMode": getOrCreateConfiguration(target).setLogMiningArchiveLogOnlyMode(property(camelContext, boolean.class, value)); return true;
        case "logminingarchivelogonlyscnpollintervalms":
        case "logMiningArchiveLogOnlyScnPollIntervalMs": getOrCreateConfiguration(target).setLogMiningArchiveLogOnlyScnPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingbatchsizedefault":
        case "logMiningBatchSizeDefault": getOrCreateConfiguration(target).setLogMiningBatchSizeDefault(property(camelContext, long.class, value)); return true;
        case "logminingbatchsizeincrement":
        case "logMiningBatchSizeIncrement": getOrCreateConfiguration(target).setLogMiningBatchSizeIncrement(property(camelContext, long.class, value)); return true;
        case "logminingbatchsizemax":
        case "logMiningBatchSizeMax": getOrCreateConfiguration(target).setLogMiningBatchSizeMax(property(camelContext, long.class, value)); return true;
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": getOrCreateConfiguration(target).setLogMiningBatchSizeMin(property(camelContext, long.class, value)); return true;
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": getOrCreateConfiguration(target).setLogMiningBufferDropOnStop(property(camelContext, boolean.class, value)); return true;
        case "logminingbufferehcacheeventsconfig":
        case "logMiningBufferEhcacheEventsConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheEventsConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferehcacheglobalconfig":
        case "logMiningBufferEhcacheGlobalConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheGlobalConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferehcacheprocessedtransactionsconfig":
        case "logMiningBufferEhcacheProcessedtransactionsConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheProcessedtransactionsConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferehcacherollbacksconfig":
        case "logMiningBufferEhcacheRollbacksConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheRollbacksConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferehcacheschemachangesconfig":
        case "logMiningBufferEhcacheSchemachangesConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheSchemachangesConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferehcachetransactionsconfig":
        case "logMiningBufferEhcacheTransactionsConfig": getOrCreateConfiguration(target).setLogMiningBufferEhcacheTransactionsConfig(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheevents":
        case "logMiningBufferInfinispanCacheEvents": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheEvents(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheglobal":
        case "logMiningBufferInfinispanCacheGlobal": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheGlobal(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheprocessedtransactions":
        case "logMiningBufferInfinispanCacheProcessedTransactions": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheProcessedTransactions(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacherollbacks":
        case "logMiningBufferInfinispanCacheRollbacks": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheRollbacks(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheSchemaChanges(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": getOrCreateConfiguration(target).setLogMiningBufferInfinispanCacheTransactions(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbuffertrackrsid":
        case "logMiningBufferTrackRsId": getOrCreateConfiguration(target).setLogMiningBufferTrackRsId(property(camelContext, boolean.class, value)); return true;
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": getOrCreateConfiguration(target).setLogMiningBufferTransactionEventsThreshold(property(camelContext, long.class, value)); return true;
        case "logminingbuffertype":
        case "logMiningBufferType": getOrCreateConfiguration(target).setLogMiningBufferType(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingclientidexcludelist":
        case "logMiningClientidExcludeList": getOrCreateConfiguration(target).setLogMiningClientidExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingclientidincludelist":
        case "logMiningClientidIncludeList": getOrCreateConfiguration(target).setLogMiningClientidIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingflushtablename":
        case "logMiningFlushTableName": getOrCreateConfiguration(target).setLogMiningFlushTableName(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": getOrCreateConfiguration(target).setLogMiningIncludeRedoSql(property(camelContext, boolean.class, value)); return true;
        case "logminingpathdictionary":
        case "logMiningPathDictionary": getOrCreateConfiguration(target).setLogMiningPathDictionary(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": getOrCreateConfiguration(target).setLogMiningQueryFilterMode(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingreadonlyhostname":
        case "logMiningReadonlyHostname": getOrCreateConfiguration(target).setLogMiningReadonlyHostname(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingrestartconnection":
        case "logMiningRestartConnection": getOrCreateConfiguration(target).setLogMiningRestartConnection(property(camelContext, boolean.class, value)); return true;
        case "logminingscngapdetectiongapsizemin":
        case "logMiningScnGapDetectionGapSizeMin": getOrCreateConfiguration(target).setLogMiningScnGapDetectionGapSizeMin(property(camelContext, long.class, value)); return true;
        case "logminingscngapdetectiontimeintervalmaxms":
        case "logMiningScnGapDetectionTimeIntervalMaxMs": getOrCreateConfiguration(target).setLogMiningScnGapDetectionTimeIntervalMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsessionmaxms":
        case "logMiningSessionMaxMs": getOrCreateConfiguration(target).setLogMiningSessionMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimedefaultms":
        case "logMiningSleepTimeDefaultMs": getOrCreateConfiguration(target).setLogMiningSleepTimeDefaultMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimeincrementms":
        case "logMiningSleepTimeIncrementMs": getOrCreateConfiguration(target).setLogMiningSleepTimeIncrementMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimemaxms":
        case "logMiningSleepTimeMaxMs": getOrCreateConfiguration(target).setLogMiningSleepTimeMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimeminms":
        case "logMiningSleepTimeMinMs": getOrCreateConfiguration(target).setLogMiningSleepTimeMinMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingstrategy":
        case "logMiningStrategy": getOrCreateConfiguration(target).setLogMiningStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingtransactionretentionms":
        case "logMiningTransactionRetentionMs": getOrCreateConfiguration(target).setLogMiningTransactionRetentionMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingusernameexcludelist":
        case "logMiningUsernameExcludeList": getOrCreateConfiguration(target).setLogMiningUsernameExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingusernameincludelist":
        case "logMiningUsernameIncludeList": getOrCreateConfiguration(target).setLogMiningUsernameIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingwindowmaxms":
        case "logMiningWindowMaxMs": getOrCreateConfiguration(target).setLogMiningWindowMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "maxbatchsize":
        case "maxBatchSize": getOrCreateConfiguration(target).setMaxBatchSize(property(camelContext, int.class, value)); return true;
        case "maxqueuesize":
        case "maxQueueSize": getOrCreateConfiguration(target).setMaxQueueSize(property(camelContext, int.class, value)); return true;
        case "maxqueuesizeinbytes":
        case "maxQueueSizeInBytes": getOrCreateConfiguration(target).setMaxQueueSizeInBytes(property(camelContext, long.class, value)); return true;
        case "messagekeycolumns":
        case "messageKeyColumns": getOrCreateConfiguration(target).setMessageKeyColumns(property(camelContext, java.lang.String.class, value)); return true;
        case "notificationenabledchannels":
        case "notificationEnabledChannels": getOrCreateConfiguration(target).setNotificationEnabledChannels(property(camelContext, java.lang.String.class, value)); return true;
        case "notificationsinktopicname":
        case "notificationSinkTopicName": getOrCreateConfiguration(target).setNotificationSinkTopicName(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetcommitpolicy":
        case "offsetCommitPolicy": getOrCreateConfiguration(target).setOffsetCommitPolicy(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetcommittimeoutms":
        case "offsetCommitTimeoutMs": getOrCreateConfiguration(target).setOffsetCommitTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "offsetflushintervalms":
        case "offsetFlushIntervalMs": getOrCreateConfiguration(target).setOffsetFlushIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "offsetstorage":
        case "offsetStorage": getOrCreateConfiguration(target).setOffsetStorage(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetstoragefilename":
        case "offsetStorageFileName": getOrCreateConfiguration(target).setOffsetStorageFileName(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetstoragepartitions":
        case "offsetStoragePartitions": getOrCreateConfiguration(target).setOffsetStoragePartitions(property(camelContext, int.class, value)); return true;
        case "offsetstoragereplicationfactor":
        case "offsetStorageReplicationFactor": getOrCreateConfiguration(target).setOffsetStorageReplicationFactor(property(camelContext, int.class, value)); return true;
        case "offsetstoragetopic":
        case "offsetStorageTopic": getOrCreateConfiguration(target).setOffsetStorageTopic(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationconfigfilepath":
        case "openlineageIntegrationConfigFilePath": getOrCreateConfiguration(target).setOpenlineageIntegrationConfigFilePath(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationdatasetkafkabootstrapservers":
        case "openlineageIntegrationDatasetKafkaBootstrapServers": getOrCreateConfiguration(target).setOpenlineageIntegrationDatasetKafkaBootstrapServers(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationenabled":
        case "openlineageIntegrationEnabled": getOrCreateConfiguration(target).setOpenlineageIntegrationEnabled(property(camelContext, boolean.class, value)); return true;
        case "openlineageintegrationjobdescription":
        case "openlineageIntegrationJobDescription": getOrCreateConfiguration(target).setOpenlineageIntegrationJobDescription(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationjobnamespace":
        case "openlineageIntegrationJobNamespace": getOrCreateConfiguration(target).setOpenlineageIntegrationJobNamespace(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationjobowners":
        case "openlineageIntegrationJobOwners": getOrCreateConfiguration(target).setOpenlineageIntegrationJobOwners(property(camelContext, java.lang.String.class, value)); return true;
        case "openlineageintegrationjobtags":
        case "openlineageIntegrationJobTags": getOrCreateConfiguration(target).setOpenlineageIntegrationJobTags(property(camelContext, java.lang.String.class, value)); return true;
        case "openlogreplicatorhost":
        case "openlogreplicatorHost": getOrCreateConfiguration(target).setOpenlogreplicatorHost(property(camelContext, java.lang.String.class, value)); return true;
        case "openlogreplicatorport":
        case "openlogreplicatorPort": getOrCreateConfiguration(target).setOpenlogreplicatorPort(property(camelContext, int.class, value)); return true;
        case "openlogreplicatorsource":
        case "openlogreplicatorSource": getOrCreateConfiguration(target).setOpenlogreplicatorSource(property(camelContext, java.lang.String.class, value)); return true;
        case "pollintervalms":
        case "pollIntervalMs": getOrCreateConfiguration(target).setPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "postprocessors":
        case "postProcessors": getOrCreateConfiguration(target).setPostProcessors(property(camelContext, java.lang.String.class, value)); return true;
        case "providetransactionmetadata":
        case "provideTransactionMetadata": getOrCreateConfiguration(target).setProvideTransactionMetadata(property(camelContext, boolean.class, value)); return true;
        case "queryfetchsize":
        case "queryFetchSize": getOrCreateConfiguration(target).setQueryFetchSize(property(camelContext, int.class, value)); return true;
        case "racnodes":
        case "racNodes": getOrCreateConfiguration(target).setRacNodes(property(camelContext, java.lang.String.class, value)); return true;
        case "retriablerestartconnectorwaitms":
        case "retriableRestartConnectorWaitMs": getOrCreateConfiguration(target).setRetriableRestartConnectorWaitMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "schemahistoryinternal":
        case "schemaHistoryInternal": getOrCreateConfiguration(target).setSchemaHistoryInternal(property(camelContext, java.lang.String.class, value)); return true;
        case "schemahistoryinternalfilefilename":
        case "schemaHistoryInternalFileFilename": getOrCreateConfiguration(target).setSchemaHistoryInternalFileFilename(property(camelContext, java.lang.String.class, value)); return true;
        case "schemahistoryinternalskipunparseableddl":
        case "schemaHistoryInternalSkipUnparseableDdl": getOrCreateConfiguration(target).setSchemaHistoryInternalSkipUnparseableDdl(property(camelContext, boolean.class, value)); return true;
        case "schemahistoryinternalstoreonlycaptureddatabasesddl":
        case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": getOrCreateConfiguration(target).setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl(property(camelContext, boolean.class, value)); return true;
        case "schemahistoryinternalstoreonlycapturedtablesddl":
        case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": getOrCreateConfiguration(target).setSchemaHistoryInternalStoreOnlyCapturedTablesDdl(property(camelContext, boolean.class, value)); return true;
        case "schemanameadjustmentmode":
        case "schemaNameAdjustmentMode": getOrCreateConfiguration(target).setSchemaNameAdjustmentMode(property(camelContext, java.lang.String.class, value)); return true;
        case "signaldatacollection":
        case "signalDataCollection": getOrCreateConfiguration(target).setSignalDataCollection(property(camelContext, java.lang.String.class, value)); return true;
        case "signalenabledchannels":
        case "signalEnabledChannels": getOrCreateConfiguration(target).setSignalEnabledChannels(property(camelContext, java.lang.String.class, value)); return true;
        case "signalpollintervalms":
        case "signalPollIntervalMs": getOrCreateConfiguration(target).setSignalPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "skippedoperations":
        case "skippedOperations": getOrCreateConfiguration(target).setSkippedOperations(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotdatabaseerrorsmaxretries":
        case "snapshotDatabaseErrorsMaxRetries": getOrCreateConfiguration(target).setSnapshotDatabaseErrorsMaxRetries(property(camelContext, int.class, value)); return true;
        case "snapshotdelayms":
        case "snapshotDelayMs": getOrCreateConfiguration(target).setSnapshotDelayMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "snapshotfetchsize":
        case "snapshotFetchSize": getOrCreateConfiguration(target).setSnapshotFetchSize(property(camelContext, int.class, value)); return true;
        case "snapshotincludecollectionlist":
        case "snapshotIncludeCollectionList": getOrCreateConfiguration(target).setSnapshotIncludeCollectionList(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotlocktimeoutms":
        case "snapshotLockTimeoutMs": getOrCreateConfiguration(target).setSnapshotLockTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "snapshotlockingmode":
        case "snapshotLockingMode": getOrCreateConfiguration(target).setSnapshotLockingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotmaxthreads":
        case "snapshotMaxThreads": getOrCreateConfiguration(target).setSnapshotMaxThreads(property(camelContext, int.class, value)); return true;
        case "snapshotmaxthreadsmultiplier":
        case "snapshotMaxThreadsMultiplier": getOrCreateConfiguration(target).setSnapshotMaxThreadsMultiplier(property(camelContext, int.class, value)); return true;
        case "snapshotmode":
        case "snapshotMode": getOrCreateConfiguration(target).setSnapshotMode(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotdata":
        case "snapshotModeConfigurationBasedSnapshotData": getOrCreateConfiguration(target).setSnapshotModeConfigurationBasedSnapshotData(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotondataerror":
        case "snapshotModeConfigurationBasedSnapshotOnDataError": getOrCreateConfiguration(target).setSnapshotModeConfigurationBasedSnapshotOnDataError(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotonschemaerror":
        case "snapshotModeConfigurationBasedSnapshotOnSchemaError": getOrCreateConfiguration(target).setSnapshotModeConfigurationBasedSnapshotOnSchemaError(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotschema":
        case "snapshotModeConfigurationBasedSnapshotSchema": getOrCreateConfiguration(target).setSnapshotModeConfigurationBasedSnapshotSchema(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedstartstream":
        case "snapshotModeConfigurationBasedStartStream": getOrCreateConfiguration(target).setSnapshotModeConfigurationBasedStartStream(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodecustomname":
        case "snapshotModeCustomName": getOrCreateConfiguration(target).setSnapshotModeCustomName(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotselectstatementoverrides":
        case "snapshotSelectStatementOverrides": getOrCreateConfiguration(target).setSnapshotSelectStatementOverrides(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshottablesorderbyrowcount":
        case "snapshotTablesOrderByRowCount": getOrCreateConfiguration(target).setSnapshotTablesOrderByRowCount(property(camelContext, java.lang.String.class, value)); return true;
        case "sourceinfostructmaker":
        case "sourceinfoStructMaker": getOrCreateConfiguration(target).setSourceinfoStructMaker(property(camelContext, java.lang.String.class, value)); return true;
        case "streamingdelayms":
        case "streamingDelayMs": getOrCreateConfiguration(target).setStreamingDelayMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "tableexcludelist":
        case "tableExcludeList": getOrCreateConfiguration(target).setTableExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "tableincludelist":
        case "tableIncludeList": getOrCreateConfiguration(target).setTableIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "timeprecisionmode":
        case "timePrecisionMode": getOrCreateConfiguration(target).setTimePrecisionMode(property(camelContext, java.lang.String.class, value)); return true;
        case "tombstonesondelete":
        case "tombstonesOnDelete": getOrCreateConfiguration(target).setTombstonesOnDelete(property(camelContext, boolean.class, value)); return true;
        case "topicnamingstrategy":
        case "topicNamingStrategy": getOrCreateConfiguration(target).setTopicNamingStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "topicprefix":
        case "topicPrefix": getOrCreateConfiguration(target).setTopicPrefix(property(camelContext, java.lang.String.class, value)); return true;
        case "transactionmetadatafactory":
        case "transactionMetadataFactory": getOrCreateConfiguration(target).setTransactionMetadataFactory(property(camelContext, java.lang.String.class, value)); return true;
        case "unavailablevalueplaceholder":
        case "unavailableValuePlaceholder": getOrCreateConfiguration(target).setUnavailableValuePlaceholder(property(camelContext, java.lang.String.class, value)); return true;
        case "xstreamoutservername":
        case "xstreamOutServerName": getOrCreateConfiguration(target).setXstreamOutServerName(property(camelContext, java.lang.String.class, value)); return true;
        default: return false;
        }
    }

    @Override
    public Class<?> getOptionType(String name, boolean ignoreCase) {
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": return java.util.Map.class;
        case "archivedestinationname":
        case "archiveDestinationName": return java.lang.String.class;
        case "archiveloghours":
        case "archiveLogHours": return long.class;
        case "autowiredenabled":
        case "autowiredEnabled": return boolean.class;
        case "binaryhandlingmode":
        case "binaryHandlingMode": return java.lang.String.class;
        case "bridgeerrorhandler":
        case "bridgeErrorHandler": return boolean.class;
        case "columnexcludelist":
        case "columnExcludeList": return java.lang.String.class;
        case "columnincludelist":
        case "columnIncludeList": return java.lang.String.class;
        case "columnpropagatesourcetype":
        case "columnPropagateSourceType": return java.lang.String.class;
        case "configuration": return org.apache.camel.component.debezium.oracle.configuration.OracleConnectorEmbeddedDebeziumConfiguration.class;
        case "connectionvalidationtimeoutms":
        case "connectionValidationTimeoutMs": return long.class;
        case "converters": return java.lang.String.class;
        case "custommetrictags":
        case "customMetricTags": return java.lang.String.class;
        case "customsanitizepattern":
        case "customSanitizePattern": return java.lang.String.class;
        case "databaseconnectionadapter":
        case "databaseConnectionAdapter": return java.lang.String.class;
        case "databasedbname":
        case "databaseDbname": return java.lang.String.class;
        case "databasehostname":
        case "databaseHostname": return java.lang.String.class;
        case "databaseoutservername":
        case "databaseOutServerName": return java.lang.String.class;
        case "databasepassword":
        case "databasePassword": return java.lang.String.class;
        case "databasepdbname":
        case "databasePdbName": return java.lang.String.class;
        case "databaseport":
        case "databasePort": return int.class;
        case "databasequerytimeoutms":
        case "databaseQueryTimeoutMs": return int.class;
        case "databaseurl":
        case "databaseUrl": return java.lang.String.class;
        case "databaseuser":
        case "databaseUser": return java.lang.String.class;
        case "datatypepropagatesourcetype":
        case "datatypePropagateSourceType": return java.lang.String.class;
        case "decimalhandlingmode":
        case "decimalHandlingMode": return java.lang.String.class;
        case "errorsmaxretries":
        case "errorsMaxRetries": return int.class;
        case "eventprocessingfailurehandlingmode":
        case "eventProcessingFailureHandlingMode": return java.lang.String.class;
        case "executorshutdowntimeoutms":
        case "executorShutdownTimeoutMs": return long.class;
        case "extendedheadersenabled":
        case "extendedHeadersEnabled": return boolean.class;
        case "guardrailcollectionslimitaction":
        case "guardrailCollectionsLimitAction": return java.lang.String.class;
        case "guardrailcollectionsmax":
        case "guardrailCollectionsMax": return int.class;
        case "heartbeatactionquery":
        case "heartbeatActionQuery": return java.lang.String.class;
        case "heartbeatintervalms":
        case "heartbeatIntervalMs": return int.class;
        case "heartbeattopicsprefix":
        case "heartbeatTopicsPrefix": return java.lang.String.class;
        case "includeschemachanges":
        case "includeSchemaChanges": return boolean.class;
        case "includeschemacomments":
        case "includeSchemaComments": return boolean.class;
        case "incrementalsnapshotwatermarkingstrategy":
        case "incrementalSnapshotWatermarkingStrategy": return java.lang.String.class;
        case "internalkeyconverter":
        case "internalKeyConverter": return java.lang.String.class;
        case "internalvalueconverter":
        case "internalValueConverter": return java.lang.String.class;
        case "intervalhandlingmode":
        case "intervalHandlingMode": return java.lang.String.class;
        case "legacydecimalhandlingstrategy":
        case "legacyDecimalHandlingStrategy": return boolean.class;
        case "lobenabled":
        case "lobEnabled": return boolean.class;
        case "logminingarchivelogonlymode":
        case "logMiningArchiveLogOnlyMode": return boolean.class;
        case "logminingarchivelogonlyscnpollintervalms":
        case "logMiningArchiveLogOnlyScnPollIntervalMs": return long.class;
        case "logminingbatchsizedefault":
        case "logMiningBatchSizeDefault": return long.class;
        case "logminingbatchsizeincrement":
        case "logMiningBatchSizeIncrement": return long.class;
        case "logminingbatchsizemax":
        case "logMiningBatchSizeMax": return long.class;
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": return long.class;
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": return boolean.class;
        case "logminingbufferehcacheeventsconfig":
        case "logMiningBufferEhcacheEventsConfig": return java.lang.String.class;
        case "logminingbufferehcacheglobalconfig":
        case "logMiningBufferEhcacheGlobalConfig": return java.lang.String.class;
        case "logminingbufferehcacheprocessedtransactionsconfig":
        case "logMiningBufferEhcacheProcessedtransactionsConfig": return java.lang.String.class;
        case "logminingbufferehcacherollbacksconfig":
        case "logMiningBufferEhcacheRollbacksConfig": return java.lang.String.class;
        case "logminingbufferehcacheschemachangesconfig":
        case "logMiningBufferEhcacheSchemachangesConfig": return java.lang.String.class;
        case "logminingbufferehcachetransactionsconfig":
        case "logMiningBufferEhcacheTransactionsConfig": return java.lang.String.class;
        case "logminingbufferinfinispancacheevents":
        case "logMiningBufferInfinispanCacheEvents": return java.lang.String.class;
        case "logminingbufferinfinispancacheglobal":
        case "logMiningBufferInfinispanCacheGlobal": return java.lang.String.class;
        case "logminingbufferinfinispancacheprocessedtransactions":
        case "logMiningBufferInfinispanCacheProcessedTransactions": return java.lang.String.class;
        case "logminingbufferinfinispancacherollbacks":
        case "logMiningBufferInfinispanCacheRollbacks": return java.lang.String.class;
        case "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": return java.lang.String.class;
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": return java.lang.String.class;
        case "logminingbuffertrackrsid":
        case "logMiningBufferTrackRsId": return boolean.class;
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": return long.class;
        case "logminingbuffertype":
        case "logMiningBufferType": return java.lang.String.class;
        case "logminingclientidexcludelist":
        case "logMiningClientidExcludeList": return java.lang.String.class;
        case "logminingclientidincludelist":
        case "logMiningClientidIncludeList": return java.lang.String.class;
        case "logminingflushtablename":
        case "logMiningFlushTableName": return java.lang.String.class;
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": return boolean.class;
        case "logminingpathdictionary":
        case "logMiningPathDictionary": return java.lang.String.class;
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": return java.lang.String.class;
        case "logminingreadonlyhostname":
        case "logMiningReadonlyHostname": return java.lang.String.class;
        case "logminingrestartconnection":
        case "logMiningRestartConnection": return boolean.class;
        case "logminingscngapdetectiongapsizemin":
        case "logMiningScnGapDetectionGapSizeMin": return long.class;
        case "logminingscngapdetectiontimeintervalmaxms":
        case "logMiningScnGapDetectionTimeIntervalMaxMs": return long.class;
        case "logminingsessionmaxms":
        case "logMiningSessionMaxMs": return long.class;
        case "logminingsleeptimedefaultms":
        case "logMiningSleepTimeDefaultMs": return long.class;
        case "logminingsleeptimeincrementms":
        case "logMiningSleepTimeIncrementMs": return long.class;
        case "logminingsleeptimemaxms":
        case "logMiningSleepTimeMaxMs": return long.class;
        case "logminingsleeptimeminms":
        case "logMiningSleepTimeMinMs": return long.class;
        case "logminingstrategy":
        case "logMiningStrategy": return java.lang.String.class;
        case "logminingtransactionretentionms":
        case "logMiningTransactionRetentionMs": return long.class;
        case "logminingusernameexcludelist":
        case "logMiningUsernameExcludeList": return java.lang.String.class;
        case "logminingusernameincludelist":
        case "logMiningUsernameIncludeList": return java.lang.String.class;
        case "logminingwindowmaxms":
        case "logMiningWindowMaxMs": return long.class;
        case "maxbatchsize":
        case "maxBatchSize": return int.class;
        case "maxqueuesize":
        case "maxQueueSize": return int.class;
        case "maxqueuesizeinbytes":
        case "maxQueueSizeInBytes": return long.class;
        case "messagekeycolumns":
        case "messageKeyColumns": return java.lang.String.class;
        case "notificationenabledchannels":
        case "notificationEnabledChannels": return java.lang.String.class;
        case "notificationsinktopicname":
        case "notificationSinkTopicName": return java.lang.String.class;
        case "offsetcommitpolicy":
        case "offsetCommitPolicy": return java.lang.String.class;
        case "offsetcommittimeoutms":
        case "offsetCommitTimeoutMs": return long.class;
        case "offsetflushintervalms":
        case "offsetFlushIntervalMs": return long.class;
        case "offsetstorage":
        case "offsetStorage": return java.lang.String.class;
        case "offsetstoragefilename":
        case "offsetStorageFileName": return java.lang.String.class;
        case "offsetstoragepartitions":
        case "offsetStoragePartitions": return int.class;
        case "offsetstoragereplicationfactor":
        case "offsetStorageReplicationFactor": return int.class;
        case "offsetstoragetopic":
        case "offsetStorageTopic": return java.lang.String.class;
        case "openlineageintegrationconfigfilepath":
        case "openlineageIntegrationConfigFilePath": return java.lang.String.class;
        case "openlineageintegrationdatasetkafkabootstrapservers":
        case "openlineageIntegrationDatasetKafkaBootstrapServers": return java.lang.String.class;
        case "openlineageintegrationenabled":
        case "openlineageIntegrationEnabled": return boolean.class;
        case "openlineageintegrationjobdescription":
        case "openlineageIntegrationJobDescription": return java.lang.String.class;
        case "openlineageintegrationjobnamespace":
        case "openlineageIntegrationJobNamespace": return java.lang.String.class;
        case "openlineageintegrationjobowners":
        case "openlineageIntegrationJobOwners": return java.lang.String.class;
        case "openlineageintegrationjobtags":
        case "openlineageIntegrationJobTags": return java.lang.String.class;
        case "openlogreplicatorhost":
        case "openlogreplicatorHost": return java.lang.String.class;
        case "openlogreplicatorport":
        case "openlogreplicatorPort": return int.class;
        case "openlogreplicatorsource":
        case "openlogreplicatorSource": return java.lang.String.class;
        case "pollintervalms":
        case "pollIntervalMs": return long.class;
        case "postprocessors":
        case "postProcessors": return java.lang.String.class;
        case "providetransactionmetadata":
        case "provideTransactionMetadata": return boolean.class;
        case "queryfetchsize":
        case "queryFetchSize": return int.class;
        case "racnodes":
        case "racNodes": return java.lang.String.class;
        case "retriablerestartconnectorwaitms":
        case "retriableRestartConnectorWaitMs": return long.class;
        case "schemahistoryinternal":
        case "schemaHistoryInternal": return java.lang.String.class;
        case "schemahistoryinternalfilefilename":
        case "schemaHistoryInternalFileFilename": return java.lang.String.class;
        case "schemahistoryinternalskipunparseableddl":
        case "schemaHistoryInternalSkipUnparseableDdl": return boolean.class;
        case "schemahistoryinternalstoreonlycaptureddatabasesddl":
        case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": return boolean.class;
        case "schemahistoryinternalstoreonlycapturedtablesddl":
        case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": return boolean.class;
        case "schemanameadjustmentmode":
        case "schemaNameAdjustmentMode": return java.lang.String.class;
        case "signaldatacollection":
        case "signalDataCollection": return java.lang.String.class;
        case "signalenabledchannels":
        case "signalEnabledChannels": return java.lang.String.class;
        case "signalpollintervalms":
        case "signalPollIntervalMs": return long.class;
        case "skippedoperations":
        case "skippedOperations": return java.lang.String.class;
        case "snapshotdatabaseerrorsmaxretries":
        case "snapshotDatabaseErrorsMaxRetries": return int.class;
        case "snapshotdelayms":
        case "snapshotDelayMs": return long.class;
        case "snapshotfetchsize":
        case "snapshotFetchSize": return int.class;
        case "snapshotincludecollectionlist":
        case "snapshotIncludeCollectionList": return java.lang.String.class;
        case "snapshotlocktimeoutms":
        case "snapshotLockTimeoutMs": return long.class;
        case "snapshotlockingmode":
        case "snapshotLockingMode": return java.lang.String.class;
        case "snapshotmaxthreads":
        case "snapshotMaxThreads": return int.class;
        case "snapshotmaxthreadsmultiplier":
        case "snapshotMaxThreadsMultiplier": return int.class;
        case "snapshotmode":
        case "snapshotMode": return java.lang.String.class;
        case "snapshotmodeconfigurationbasedsnapshotdata":
        case "snapshotModeConfigurationBasedSnapshotData": return boolean.class;
        case "snapshotmodeconfigurationbasedsnapshotondataerror":
        case "snapshotModeConfigurationBasedSnapshotOnDataError": return boolean.class;
        case "snapshotmodeconfigurationbasedsnapshotonschemaerror":
        case "snapshotModeConfigurationBasedSnapshotOnSchemaError": return boolean.class;
        case "snapshotmodeconfigurationbasedsnapshotschema":
        case "snapshotModeConfigurationBasedSnapshotSchema": return boolean.class;
        case "snapshotmodeconfigurationbasedstartstream":
        case "snapshotModeConfigurationBasedStartStream": return boolean.class;
        case "snapshotmodecustomname":
        case "snapshotModeCustomName": return java.lang.String.class;
        case "snapshotselectstatementoverrides":
        case "snapshotSelectStatementOverrides": return java.lang.String.class;
        case "snapshottablesorderbyrowcount":
        case "snapshotTablesOrderByRowCount": return java.lang.String.class;
        case "sourceinfostructmaker":
        case "sourceinfoStructMaker": return java.lang.String.class;
        case "streamingdelayms":
        case "streamingDelayMs": return long.class;
        case "tableexcludelist":
        case "tableExcludeList": return java.lang.String.class;
        case "tableincludelist":
        case "tableIncludeList": return java.lang.String.class;
        case "timeprecisionmode":
        case "timePrecisionMode": return java.lang.String.class;
        case "tombstonesondelete":
        case "tombstonesOnDelete": return boolean.class;
        case "topicnamingstrategy":
        case "topicNamingStrategy": return java.lang.String.class;
        case "topicprefix":
        case "topicPrefix": return java.lang.String.class;
        case "transactionmetadatafactory":
        case "transactionMetadataFactory": return java.lang.String.class;
        case "unavailablevalueplaceholder":
        case "unavailableValuePlaceholder": return java.lang.String.class;
        case "xstreamoutservername":
        case "xstreamOutServerName": return java.lang.String.class;
        default: return null;
        }
    }

    @Override
    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
        DebeziumOracleComponent target = (DebeziumOracleComponent) obj;
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": return getOrCreateConfiguration(target).getAdditionalProperties();
        case "archivedestinationname":
        case "archiveDestinationName": return getOrCreateConfiguration(target).getArchiveDestinationName();
        case "archiveloghours":
        case "archiveLogHours": return getOrCreateConfiguration(target).getArchiveLogHours();
        case "autowiredenabled":
        case "autowiredEnabled": return target.isAutowiredEnabled();
        case "binaryhandlingmode":
        case "binaryHandlingMode": return getOrCreateConfiguration(target).getBinaryHandlingMode();
        case "bridgeerrorhandler":
        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
        case "columnexcludelist":
        case "columnExcludeList": return getOrCreateConfiguration(target).getColumnExcludeList();
        case "columnincludelist":
        case "columnIncludeList": return getOrCreateConfiguration(target).getColumnIncludeList();
        case "columnpropagatesourcetype":
        case "columnPropagateSourceType": return getOrCreateConfiguration(target).getColumnPropagateSourceType();
        case "configuration": return target.getConfiguration();
        case "connectionvalidationtimeoutms":
        case "connectionValidationTimeoutMs": return getOrCreateConfiguration(target).getConnectionValidationTimeoutMs();
        case "converters": return getOrCreateConfiguration(target).getConverters();
        case "custommetrictags":
        case "customMetricTags": return getOrCreateConfiguration(target).getCustomMetricTags();
        case "customsanitizepattern":
        case "customSanitizePattern": return getOrCreateConfiguration(target).getCustomSanitizePattern();
        case "databaseconnectionadapter":
        case "databaseConnectionAdapter": return getOrCreateConfiguration(target).getDatabaseConnectionAdapter();
        case "databasedbname":
        case "databaseDbname": return getOrCreateConfiguration(target).getDatabaseDbname();
        case "databasehostname":
        case "databaseHostname": return getOrCreateConfiguration(target).getDatabaseHostname();
        case "databaseoutservername":
        case "databaseOutServerName": return getOrCreateConfiguration(target).getDatabaseOutServerName();
        case "databasepassword":
        case "databasePassword": return getOrCreateConfiguration(target).getDatabasePassword();
        case "databasepdbname":
        case "databasePdbName": return getOrCreateConfiguration(target).getDatabasePdbName();
        case "databaseport":
        case "databasePort": return getOrCreateConfiguration(target).getDatabasePort();
        case "databasequerytimeoutms":
        case "databaseQueryTimeoutMs": return getOrCreateConfiguration(target).getDatabaseQueryTimeoutMs();
        case "databaseurl":
        case "databaseUrl": return getOrCreateConfiguration(target).getDatabaseUrl();
        case "databaseuser":
        case "databaseUser": return getOrCreateConfiguration(target).getDatabaseUser();
        case "datatypepropagatesourcetype":
        case "datatypePropagateSourceType": return getOrCreateConfiguration(target).getDatatypePropagateSourceType();
        case "decimalhandlingmode":
        case "decimalHandlingMode": return getOrCreateConfiguration(target).getDecimalHandlingMode();
        case "errorsmaxretries":
        case "errorsMaxRetries": return getOrCreateConfiguration(target).getErrorsMaxRetries();
        case "eventprocessingfailurehandlingmode":
        case "eventProcessingFailureHandlingMode": return getOrCreateConfiguration(target).getEventProcessingFailureHandlingMode();
        case "executorshutdowntimeoutms":
        case "executorShutdownTimeoutMs": return getOrCreateConfiguration(target).getExecutorShutdownTimeoutMs();
        case "extendedheadersenabled":
        case "extendedHeadersEnabled": return getOrCreateConfiguration(target).isExtendedHeadersEnabled();
        case "guardrailcollectionslimitaction":
        case "guardrailCollectionsLimitAction": return getOrCreateConfiguration(target).getGuardrailCollectionsLimitAction();
        case "guardrailcollectionsmax":
        case "guardrailCollectionsMax": return getOrCreateConfiguration(target).getGuardrailCollectionsMax();
        case "heartbeatactionquery":
        case "heartbeatActionQuery": return getOrCreateConfiguration(target).getHeartbeatActionQuery();
        case "heartbeatintervalms":
        case "heartbeatIntervalMs": return getOrCreateConfiguration(target).getHeartbeatIntervalMs();
        case "heartbeattopicsprefix":
        case "heartbeatTopicsPrefix": return getOrCreateConfiguration(target).getHeartbeatTopicsPrefix();
        case "includeschemachanges":
        case "includeSchemaChanges": return getOrCreateConfiguration(target).isIncludeSchemaChanges();
        case "includeschemacomments":
        case "includeSchemaComments": return getOrCreateConfiguration(target).isIncludeSchemaComments();
        case "incrementalsnapshotwatermarkingstrategy":
        case "incrementalSnapshotWatermarkingStrategy": return getOrCreateConfiguration(target).getIncrementalSnapshotWatermarkingStrategy();
        case "internalkeyconverter":
        case "internalKeyConverter": return getOrCreateConfiguration(target).getInternalKeyConverter();
        case "internalvalueconverter":
        case "internalValueConverter": return getOrCreateConfiguration(target).getInternalValueConverter();
        case "intervalhandlingmode":
        case "intervalHandlingMode": return getOrCreateConfiguration(target).getIntervalHandlingMode();
        case "legacydecimalhandlingstrategy":
        case "legacyDecimalHandlingStrategy": return getOrCreateConfiguration(target).isLegacyDecimalHandlingStrategy();
        case "lobenabled":
        case "lobEnabled": return getOrCreateConfiguration(target).isLobEnabled();
        case "logminingarchivelogonlymode":
        case "logMiningArchiveLogOnlyMode": return getOrCreateConfiguration(target).isLogMiningArchiveLogOnlyMode();
        case "logminingarchivelogonlyscnpollintervalms":
        case "logMiningArchiveLogOnlyScnPollIntervalMs": return getOrCreateConfiguration(target).getLogMiningArchiveLogOnlyScnPollIntervalMs();
        case "logminingbatchsizedefault":
        case "logMiningBatchSizeDefault": return getOrCreateConfiguration(target).getLogMiningBatchSizeDefault();
        case "logminingbatchsizeincrement":
        case "logMiningBatchSizeIncrement": return getOrCreateConfiguration(target).getLogMiningBatchSizeIncrement();
        case "logminingbatchsizemax":
        case "logMiningBatchSizeMax": return getOrCreateConfiguration(target).getLogMiningBatchSizeMax();
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": return getOrCreateConfiguration(target).getLogMiningBatchSizeMin();
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": return getOrCreateConfiguration(target).isLogMiningBufferDropOnStop();
        case "logminingbufferehcacheeventsconfig":
        case "logMiningBufferEhcacheEventsConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheEventsConfig();
        case "logminingbufferehcacheglobalconfig":
        case "logMiningBufferEhcacheGlobalConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheGlobalConfig();
        case "logminingbufferehcacheprocessedtransactionsconfig":
        case "logMiningBufferEhcacheProcessedtransactionsConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheProcessedtransactionsConfig();
        case "logminingbufferehcacherollbacksconfig":
        case "logMiningBufferEhcacheRollbacksConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheRollbacksConfig();
        case "logminingbufferehcacheschemachangesconfig":
        case "logMiningBufferEhcacheSchemachangesConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheSchemachangesConfig();
        case "logminingbufferehcachetransactionsconfig":
        case "logMiningBufferEhcacheTransactionsConfig": return getOrCreateConfiguration(target).getLogMiningBufferEhcacheTransactionsConfig();
        case "logminingbufferinfinispancacheevents":
        case "logMiningBufferInfinispanCacheEvents": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheEvents();
        case "logminingbufferinfinispancacheglobal":
        case "logMiningBufferInfinispanCacheGlobal": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheGlobal();
        case "logminingbufferinfinispancacheprocessedtransactions":
        case "logMiningBufferInfinispanCacheProcessedTransactions": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheProcessedTransactions();
        case "logminingbufferinfinispancacherollbacks":
        case "logMiningBufferInfinispanCacheRollbacks": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheRollbacks();
        case "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheSchemaChanges();
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": return getOrCreateConfiguration(target).getLogMiningBufferInfinispanCacheTransactions();
        case "logminingbuffertrackrsid":
        case "logMiningBufferTrackRsId": return getOrCreateConfiguration(target).isLogMiningBufferTrackRsId();
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": return getOrCreateConfiguration(target).getLogMiningBufferTransactionEventsThreshold();
        case "logminingbuffertype":
        case "logMiningBufferType": return getOrCreateConfiguration(target).getLogMiningBufferType();
        case "logminingclientidexcludelist":
        case "logMiningClientidExcludeList": return getOrCreateConfiguration(target).getLogMiningClientidExcludeList();
        case "logminingclientidincludelist":
        case "logMiningClientidIncludeList": return getOrCreateConfiguration(target).getLogMiningClientidIncludeList();
        case "logminingflushtablename":
        case "logMiningFlushTableName": return getOrCreateConfiguration(target).getLogMiningFlushTableName();
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": return getOrCreateConfiguration(target).isLogMiningIncludeRedoSql();
        case "logminingpathdictionary":
        case "logMiningPathDictionary": return getOrCreateConfiguration(target).getLogMiningPathDictionary();
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": return getOrCreateConfiguration(target).getLogMiningQueryFilterMode();
        case "logminingreadonlyhostname":
        case "logMiningReadonlyHostname": return getOrCreateConfiguration(target).getLogMiningReadonlyHostname();
        case "logminingrestartconnection":
        case "logMiningRestartConnection": return getOrCreateConfiguration(target).isLogMiningRestartConnection();
        case "logminingscngapdetectiongapsizemin":
        case "logMiningScnGapDetectionGapSizeMin": return getOrCreateConfiguration(target).getLogMiningScnGapDetectionGapSizeMin();
        case "logminingscngapdetectiontimeintervalmaxms":
        case "logMiningScnGapDetectionTimeIntervalMaxMs": return getOrCreateConfiguration(target).getLogMiningScnGapDetectionTimeIntervalMaxMs();
        case "logminingsessionmaxms":
        case "logMiningSessionMaxMs": return getOrCreateConfiguration(target).getLogMiningSessionMaxMs();
        case "logminingsleeptimedefaultms":
        case "logMiningSleepTimeDefaultMs": return getOrCreateConfiguration(target).getLogMiningSleepTimeDefaultMs();
        case "logminingsleeptimeincrementms":
        case "logMiningSleepTimeIncrementMs": return getOrCreateConfiguration(target).getLogMiningSleepTimeIncrementMs();
        case "logminingsleeptimemaxms":
        case "logMiningSleepTimeMaxMs": return getOrCreateConfiguration(target).getLogMiningSleepTimeMaxMs();
        case "logminingsleeptimeminms":
        case "logMiningSleepTimeMinMs": return getOrCreateConfiguration(target).getLogMiningSleepTimeMinMs();
        case "logminingstrategy":
        case "logMiningStrategy": return getOrCreateConfiguration(target).getLogMiningStrategy();
        case "logminingtransactionretentionms":
        case "logMiningTransactionRetentionMs": return getOrCreateConfiguration(target).getLogMiningTransactionRetentionMs();
        case "logminingusernameexcludelist":
        case "logMiningUsernameExcludeList": return getOrCreateConfiguration(target).getLogMiningUsernameExcludeList();
        case "logminingusernameincludelist":
        case "logMiningUsernameIncludeList": return getOrCreateConfiguration(target).getLogMiningUsernameIncludeList();
        case "logminingwindowmaxms":
        case "logMiningWindowMaxMs": return getOrCreateConfiguration(target).getLogMiningWindowMaxMs();
        case "maxbatchsize":
        case "maxBatchSize": return getOrCreateConfiguration(target).getMaxBatchSize();
        case "maxqueuesize":
        case "maxQueueSize": return getOrCreateConfiguration(target).getMaxQueueSize();
        case "maxqueuesizeinbytes":
        case "maxQueueSizeInBytes": return getOrCreateConfiguration(target).getMaxQueueSizeInBytes();
        case "messagekeycolumns":
        case "messageKeyColumns": return getOrCreateConfiguration(target).getMessageKeyColumns();
        case "notificationenabledchannels":
        case "notificationEnabledChannels": return getOrCreateConfiguration(target).getNotificationEnabledChannels();
        case "notificationsinktopicname":
        case "notificationSinkTopicName": return getOrCreateConfiguration(target).getNotificationSinkTopicName();
        case "offsetcommitpolicy":
        case "offsetCommitPolicy": return getOrCreateConfiguration(target).getOffsetCommitPolicy();
        case "offsetcommittimeoutms":
        case "offsetCommitTimeoutMs": return getOrCreateConfiguration(target).getOffsetCommitTimeoutMs();
        case "offsetflushintervalms":
        case "offsetFlushIntervalMs": return getOrCreateConfiguration(target).getOffsetFlushIntervalMs();
        case "offsetstorage":
        case "offsetStorage": return getOrCreateConfiguration(target).getOffsetStorage();
        case "offsetstoragefilename":
        case "offsetStorageFileName": return getOrCreateConfiguration(target).getOffsetStorageFileName();
        case "offsetstoragepartitions":
        case "offsetStoragePartitions": return getOrCreateConfiguration(target).getOffsetStoragePartitions();
        case "offsetstoragereplicationfactor":
        case "offsetStorageReplicationFactor": return getOrCreateConfiguration(target).getOffsetStorageReplicationFactor();
        case "offsetstoragetopic":
        case "offsetStorageTopic": return getOrCreateConfiguration(target).getOffsetStorageTopic();
        case "openlineageintegrationconfigfilepath":
        case "openlineageIntegrationConfigFilePath": return getOrCreateConfiguration(target).getOpenlineageIntegrationConfigFilePath();
        case "openlineageintegrationdatasetkafkabootstrapservers":
        case "openlineageIntegrationDatasetKafkaBootstrapServers": return getOrCreateConfiguration(target).getOpenlineageIntegrationDatasetKafkaBootstrapServers();
        case "openlineageintegrationenabled":
        case "openlineageIntegrationEnabled": return getOrCreateConfiguration(target).isOpenlineageIntegrationEnabled();
        case "openlineageintegrationjobdescription":
        case "openlineageIntegrationJobDescription": return getOrCreateConfiguration(target).getOpenlineageIntegrationJobDescription();
        case "openlineageintegrationjobnamespace":
        case "openlineageIntegrationJobNamespace": return getOrCreateConfiguration(target).getOpenlineageIntegrationJobNamespace();
        case "openlineageintegrationjobowners":
        case "openlineageIntegrationJobOwners": return getOrCreateConfiguration(target).getOpenlineageIntegrationJobOwners();
        case "openlineageintegrationjobtags":
        case "openlineageIntegrationJobTags": return getOrCreateConfiguration(target).getOpenlineageIntegrationJobTags();
        case "openlogreplicatorhost":
        case "openlogreplicatorHost": return getOrCreateConfiguration(target).getOpenlogreplicatorHost();
        case "openlogreplicatorport":
        case "openlogreplicatorPort": return getOrCreateConfiguration(target).getOpenlogreplicatorPort();
        case "openlogreplicatorsource":
        case "openlogreplicatorSource": return getOrCreateConfiguration(target).getOpenlogreplicatorSource();
        case "pollintervalms":
        case "pollIntervalMs": return getOrCreateConfiguration(target).getPollIntervalMs();
        case "postprocessors":
        case "postProcessors": return getOrCreateConfiguration(target).getPostProcessors();
        case "providetransactionmetadata":
        case "provideTransactionMetadata": return getOrCreateConfiguration(target).isProvideTransactionMetadata();
        case "queryfetchsize":
        case "queryFetchSize": return getOrCreateConfiguration(target).getQueryFetchSize();
        case "racnodes":
        case "racNodes": return getOrCreateConfiguration(target).getRacNodes();
        case "retriablerestartconnectorwaitms":
        case "retriableRestartConnectorWaitMs": return getOrCreateConfiguration(target).getRetriableRestartConnectorWaitMs();
        case "schemahistoryinternal":
        case "schemaHistoryInternal": return getOrCreateConfiguration(target).getSchemaHistoryInternal();
        case "schemahistoryinternalfilefilename":
        case "schemaHistoryInternalFileFilename": return getOrCreateConfiguration(target).getSchemaHistoryInternalFileFilename();
        case "schemahistoryinternalskipunparseableddl":
        case "schemaHistoryInternalSkipUnparseableDdl": return getOrCreateConfiguration(target).isSchemaHistoryInternalSkipUnparseableDdl();
        case "schemahistoryinternalstoreonlycaptureddatabasesddl":
        case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": return getOrCreateConfiguration(target).isSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl();
        case "schemahistoryinternalstoreonlycapturedtablesddl":
        case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": return getOrCreateConfiguration(target).isSchemaHistoryInternalStoreOnlyCapturedTablesDdl();
        case "schemanameadjustmentmode":
        case "schemaNameAdjustmentMode": return getOrCreateConfiguration(target).getSchemaNameAdjustmentMode();
        case "signaldatacollection":
        case "signalDataCollection": return getOrCreateConfiguration(target).getSignalDataCollection();
        case "signalenabledchannels":
        case "signalEnabledChannels": return getOrCreateConfiguration(target).getSignalEnabledChannels();
        case "signalpollintervalms":
        case "signalPollIntervalMs": return getOrCreateConfiguration(target).getSignalPollIntervalMs();
        case "skippedoperations":
        case "skippedOperations": return getOrCreateConfiguration(target).getSkippedOperations();
        case "snapshotdatabaseerrorsmaxretries":
        case "snapshotDatabaseErrorsMaxRetries": return getOrCreateConfiguration(target).getSnapshotDatabaseErrorsMaxRetries();
        case "snapshotdelayms":
        case "snapshotDelayMs": return getOrCreateConfiguration(target).getSnapshotDelayMs();
        case "snapshotfetchsize":
        case "snapshotFetchSize": return getOrCreateConfiguration(target).getSnapshotFetchSize();
        case "snapshotincludecollectionlist":
        case "snapshotIncludeCollectionList": return getOrCreateConfiguration(target).getSnapshotIncludeCollectionList();
        case "snapshotlocktimeoutms":
        case "snapshotLockTimeoutMs": return getOrCreateConfiguration(target).getSnapshotLockTimeoutMs();
        case "snapshotlockingmode":
        case "snapshotLockingMode": return getOrCreateConfiguration(target).getSnapshotLockingMode();
        case "snapshotmaxthreads":
        case "snapshotMaxThreads": return getOrCreateConfiguration(target).getSnapshotMaxThreads();
        case "snapshotmaxthreadsmultiplier":
        case "snapshotMaxThreadsMultiplier": return getOrCreateConfiguration(target).getSnapshotMaxThreadsMultiplier();
        case "snapshotmode":
        case "snapshotMode": return getOrCreateConfiguration(target).getSnapshotMode();
        case "snapshotmodeconfigurationbasedsnapshotdata":
        case "snapshotModeConfigurationBasedSnapshotData": return getOrCreateConfiguration(target).isSnapshotModeConfigurationBasedSnapshotData();
        case "snapshotmodeconfigurationbasedsnapshotondataerror":
        case "snapshotModeConfigurationBasedSnapshotOnDataError": return getOrCreateConfiguration(target).isSnapshotModeConfigurationBasedSnapshotOnDataError();
        case "snapshotmodeconfigurationbasedsnapshotonschemaerror":
        case "snapshotModeConfigurationBasedSnapshotOnSchemaError": return getOrCreateConfiguration(target).isSnapshotModeConfigurationBasedSnapshotOnSchemaError();
        case "snapshotmodeconfigurationbasedsnapshotschema":
        case "snapshotModeConfigurationBasedSnapshotSchema": return getOrCreateConfiguration(target).isSnapshotModeConfigurationBasedSnapshotSchema();
        case "snapshotmodeconfigurationbasedstartstream":
        case "snapshotModeConfigurationBasedStartStream": return getOrCreateConfiguration(target).isSnapshotModeConfigurationBasedStartStream();
        case "snapshotmodecustomname":
        case "snapshotModeCustomName": return getOrCreateConfiguration(target).getSnapshotModeCustomName();
        case "snapshotselectstatementoverrides":
        case "snapshotSelectStatementOverrides": return getOrCreateConfiguration(target).getSnapshotSelectStatementOverrides();
        case "snapshottablesorderbyrowcount":
        case "snapshotTablesOrderByRowCount": return getOrCreateConfiguration(target).getSnapshotTablesOrderByRowCount();
        case "sourceinfostructmaker":
        case "sourceinfoStructMaker": return getOrCreateConfiguration(target).getSourceinfoStructMaker();
        case "streamingdelayms":
        case "streamingDelayMs": return getOrCreateConfiguration(target).getStreamingDelayMs();
        case "tableexcludelist":
        case "tableExcludeList": return getOrCreateConfiguration(target).getTableExcludeList();
        case "tableincludelist":
        case "tableIncludeList": return getOrCreateConfiguration(target).getTableIncludeList();
        case "timeprecisionmode":
        case "timePrecisionMode": return getOrCreateConfiguration(target).getTimePrecisionMode();
        case "tombstonesondelete":
        case "tombstonesOnDelete": return getOrCreateConfiguration(target).isTombstonesOnDelete();
        case "topicnamingstrategy":
        case "topicNamingStrategy": return getOrCreateConfiguration(target).getTopicNamingStrategy();
        case "topicprefix":
        case "topicPrefix": return getOrCreateConfiguration(target).getTopicPrefix();
        case "transactionmetadatafactory":
        case "transactionMetadataFactory": return getOrCreateConfiguration(target).getTransactionMetadataFactory();
        case "unavailablevalueplaceholder":
        case "unavailableValuePlaceholder": return getOrCreateConfiguration(target).getUnavailableValuePlaceholder();
        case "xstreamoutservername":
        case "xstreamOutServerName": return getOrCreateConfiguration(target).getXstreamOutServerName();
        default: return null;
        }
    }

    @Override
    public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": return java.lang.Object.class;
        default: return null;
        }
    }
}

