/* 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 DebeziumOracleEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {

    @Override
    public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
        DebeziumOracleEndpoint target = (DebeziumOracleEndpoint) obj;
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": target.getConfiguration().setAdditionalProperties(property(camelContext, java.util.Map.class, value)); return true;
        case "archivedestinationname":
        case "archiveDestinationName": target.getConfiguration().setArchiveDestinationName(property(camelContext, java.lang.String.class, value)); return true;
        case "archiveloghours":
        case "archiveLogHours": target.getConfiguration().setArchiveLogHours(property(camelContext, long.class, value)); return true;
        case "binaryhandlingmode":
        case "binaryHandlingMode": target.getConfiguration().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": target.getConfiguration().setColumnExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "columnincludelist":
        case "columnIncludeList": target.getConfiguration().setColumnIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "columnpropagatesourcetype":
        case "columnPropagateSourceType": target.getConfiguration().setColumnPropagateSourceType(property(camelContext, java.lang.String.class, value)); return true;
        case "converters": target.getConfiguration().setConverters(property(camelContext, java.lang.String.class, value)); return true;
        case "custommetrictags":
        case "customMetricTags": target.getConfiguration().setCustomMetricTags(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseconnectionadapter":
        case "databaseConnectionAdapter": target.getConfiguration().setDatabaseConnectionAdapter(property(camelContext, java.lang.String.class, value)); return true;
        case "databasedbname":
        case "databaseDbname": target.getConfiguration().setDatabaseDbname(property(camelContext, java.lang.String.class, value)); return true;
        case "databasehostname":
        case "databaseHostname": target.getConfiguration().setDatabaseHostname(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseoutservername":
        case "databaseOutServerName": target.getConfiguration().setDatabaseOutServerName(property(camelContext, java.lang.String.class, value)); return true;
        case "databasepassword":
        case "databasePassword": target.getConfiguration().setDatabasePassword(property(camelContext, java.lang.String.class, value)); return true;
        case "databasepdbname":
        case "databasePdbName": target.getConfiguration().setDatabasePdbName(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseport":
        case "databasePort": target.getConfiguration().setDatabasePort(property(camelContext, int.class, value)); return true;
        case "databasequerytimeoutms":
        case "databaseQueryTimeoutMs": target.getConfiguration().setDatabaseQueryTimeoutMs(property(camelContext, int.class, value)); return true;
        case "databaseurl":
        case "databaseUrl": target.getConfiguration().setDatabaseUrl(property(camelContext, java.lang.String.class, value)); return true;
        case "databaseuser":
        case "databaseUser": target.getConfiguration().setDatabaseUser(property(camelContext, java.lang.String.class, value)); return true;
        case "datatypepropagatesourcetype":
        case "datatypePropagateSourceType": target.getConfiguration().setDatatypePropagateSourceType(property(camelContext, java.lang.String.class, value)); return true;
        case "decimalhandlingmode":
        case "decimalHandlingMode": target.getConfiguration().setDecimalHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "errorsmaxretries":
        case "errorsMaxRetries": target.getConfiguration().setErrorsMaxRetries(property(camelContext, int.class, value)); return true;
        case "eventprocessingfailurehandlingmode":
        case "eventProcessingFailureHandlingMode": target.getConfiguration().setEventProcessingFailureHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "exceptionhandler":
        case "exceptionHandler": target.setExceptionHandler(property(camelContext, org.apache.camel.spi.ExceptionHandler.class, value)); return true;
        case "exchangepattern":
        case "exchangePattern": target.setExchangePattern(property(camelContext, org.apache.camel.ExchangePattern.class, value)); return true;
        case "heartbeatactionquery":
        case "heartbeatActionQuery": target.getConfiguration().setHeartbeatActionQuery(property(camelContext, java.lang.String.class, value)); return true;
        case "heartbeatintervalms":
        case "heartbeatIntervalMs": target.getConfiguration().setHeartbeatIntervalMs(property(camelContext, int.class, value)); return true;
        case "heartbeattopicsprefix":
        case "heartbeatTopicsPrefix": target.getConfiguration().setHeartbeatTopicsPrefix(property(camelContext, java.lang.String.class, value)); return true;
        case "includeschemachanges":
        case "includeSchemaChanges": target.getConfiguration().setIncludeSchemaChanges(property(camelContext, boolean.class, value)); return true;
        case "includeschemacomments":
        case "includeSchemaComments": target.getConfiguration().setIncludeSchemaComments(property(camelContext, boolean.class, value)); return true;
        case "incrementalsnapshotwatermarkingstrategy":
        case "incrementalSnapshotWatermarkingStrategy": target.getConfiguration().setIncrementalSnapshotWatermarkingStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "internalkeyconverter":
        case "internalKeyConverter": target.getConfiguration().setInternalKeyConverter(property(camelContext, java.lang.String.class, value)); return true;
        case "internalvalueconverter":
        case "internalValueConverter": target.getConfiguration().setInternalValueConverter(property(camelContext, java.lang.String.class, value)); return true;
        case "intervalhandlingmode":
        case "intervalHandlingMode": target.getConfiguration().setIntervalHandlingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "lobenabled":
        case "lobEnabled": target.getConfiguration().setLobEnabled(property(camelContext, boolean.class, value)); return true;
        case "logminingarchivelogonlymode":
        case "logMiningArchiveLogOnlyMode": target.getConfiguration().setLogMiningArchiveLogOnlyMode(property(camelContext, boolean.class, value)); return true;
        case "logminingarchivelogonlyscnpollintervalms":
        case "logMiningArchiveLogOnlyScnPollIntervalMs": target.getConfiguration().setLogMiningArchiveLogOnlyScnPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingbatchsizedefault":
        case "logMiningBatchSizeDefault": target.getConfiguration().setLogMiningBatchSizeDefault(property(camelContext, long.class, value)); return true;
        case "logminingbatchsizemax":
        case "logMiningBatchSizeMax": target.getConfiguration().setLogMiningBatchSizeMax(property(camelContext, long.class, value)); return true;
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": target.getConfiguration().setLogMiningBatchSizeMin(property(camelContext, long.class, value)); return true;
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": target.getConfiguration().setLogMiningBufferDropOnStop(property(camelContext, boolean.class, value)); return true;
        case "logminingbufferinfinispancacheevents":
        case "logMiningBufferInfinispanCacheEvents": target.getConfiguration().setLogMiningBufferInfinispanCacheEvents(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheglobal":
        case "logMiningBufferInfinispanCacheGlobal": target.getConfiguration().setLogMiningBufferInfinispanCacheGlobal(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheprocessedtransactions":
        case "logMiningBufferInfinispanCacheProcessedTransactions": target.getConfiguration().setLogMiningBufferInfinispanCacheProcessedTransactions(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": target.getConfiguration().setLogMiningBufferInfinispanCacheSchemaChanges(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": target.getConfiguration().setLogMiningBufferInfinispanCacheTransactions(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": target.getConfiguration().setLogMiningBufferTransactionEventsThreshold(property(camelContext, long.class, value)); return true;
        case "logminingbuffertype":
        case "logMiningBufferType": target.getConfiguration().setLogMiningBufferType(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingflushtablename":
        case "logMiningFlushTableName": target.getConfiguration().setLogMiningFlushTableName(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": target.getConfiguration().setLogMiningIncludeRedoSql(property(camelContext, boolean.class, value)); return true;
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": target.getConfiguration().setLogMiningQueryFilterMode(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingrestartconnection":
        case "logMiningRestartConnection": target.getConfiguration().setLogMiningRestartConnection(property(camelContext, boolean.class, value)); return true;
        case "logminingscngapdetectiongapsizemin":
        case "logMiningScnGapDetectionGapSizeMin": target.getConfiguration().setLogMiningScnGapDetectionGapSizeMin(property(camelContext, long.class, value)); return true;
        case "logminingscngapdetectiontimeintervalmaxms":
        case "logMiningScnGapDetectionTimeIntervalMaxMs": target.getConfiguration().setLogMiningScnGapDetectionTimeIntervalMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsessionmaxms":
        case "logMiningSessionMaxMs": target.getConfiguration().setLogMiningSessionMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimedefaultms":
        case "logMiningSleepTimeDefaultMs": target.getConfiguration().setLogMiningSleepTimeDefaultMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimeincrementms":
        case "logMiningSleepTimeIncrementMs": target.getConfiguration().setLogMiningSleepTimeIncrementMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimemaxms":
        case "logMiningSleepTimeMaxMs": target.getConfiguration().setLogMiningSleepTimeMaxMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingsleeptimeminms":
        case "logMiningSleepTimeMinMs": target.getConfiguration().setLogMiningSleepTimeMinMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingstrategy":
        case "logMiningStrategy": target.getConfiguration().setLogMiningStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingtransactionretentionms":
        case "logMiningTransactionRetentionMs": target.getConfiguration().setLogMiningTransactionRetentionMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "logminingusernameexcludelist":
        case "logMiningUsernameExcludeList": target.getConfiguration().setLogMiningUsernameExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "logminingusernameincludelist":
        case "logMiningUsernameIncludeList": target.getConfiguration().setLogMiningUsernameIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "maxbatchsize":
        case "maxBatchSize": target.getConfiguration().setMaxBatchSize(property(camelContext, int.class, value)); return true;
        case "maxqueuesize":
        case "maxQueueSize": target.getConfiguration().setMaxQueueSize(property(camelContext, int.class, value)); return true;
        case "maxqueuesizeinbytes":
        case "maxQueueSizeInBytes": target.getConfiguration().setMaxQueueSizeInBytes(property(camelContext, long.class, value)); return true;
        case "messagekeycolumns":
        case "messageKeyColumns": target.getConfiguration().setMessageKeyColumns(property(camelContext, java.lang.String.class, value)); return true;
        case "notificationenabledchannels":
        case "notificationEnabledChannels": target.getConfiguration().setNotificationEnabledChannels(property(camelContext, java.lang.String.class, value)); return true;
        case "notificationsinktopicname":
        case "notificationSinkTopicName": target.getConfiguration().setNotificationSinkTopicName(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetcommitpolicy":
        case "offsetCommitPolicy": target.getConfiguration().setOffsetCommitPolicy(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetcommittimeoutms":
        case "offsetCommitTimeoutMs": target.getConfiguration().setOffsetCommitTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "offsetflushintervalms":
        case "offsetFlushIntervalMs": target.getConfiguration().setOffsetFlushIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "offsetstorage":
        case "offsetStorage": target.getConfiguration().setOffsetStorage(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetstoragefilename":
        case "offsetStorageFileName": target.getConfiguration().setOffsetStorageFileName(property(camelContext, java.lang.String.class, value)); return true;
        case "offsetstoragepartitions":
        case "offsetStoragePartitions": target.getConfiguration().setOffsetStoragePartitions(property(camelContext, int.class, value)); return true;
        case "offsetstoragereplicationfactor":
        case "offsetStorageReplicationFactor": target.getConfiguration().setOffsetStorageReplicationFactor(property(camelContext, int.class, value)); return true;
        case "offsetstoragetopic":
        case "offsetStorageTopic": target.getConfiguration().setOffsetStorageTopic(property(camelContext, java.lang.String.class, value)); return true;
        case "openlogreplicatorhost":
        case "openlogreplicatorHost": target.getConfiguration().setOpenlogreplicatorHost(property(camelContext, java.lang.String.class, value)); return true;
        case "openlogreplicatorport":
        case "openlogreplicatorPort": target.getConfiguration().setOpenlogreplicatorPort(property(camelContext, int.class, value)); return true;
        case "openlogreplicatorsource":
        case "openlogreplicatorSource": target.getConfiguration().setOpenlogreplicatorSource(property(camelContext, java.lang.String.class, value)); return true;
        case "pollintervalms":
        case "pollIntervalMs": target.getConfiguration().setPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "postprocessors":
        case "postProcessors": target.getConfiguration().setPostProcessors(property(camelContext, java.lang.String.class, value)); return true;
        case "providetransactionmetadata":
        case "provideTransactionMetadata": target.getConfiguration().setProvideTransactionMetadata(property(camelContext, boolean.class, value)); return true;
        case "queryfetchsize":
        case "queryFetchSize": target.getConfiguration().setQueryFetchSize(property(camelContext, int.class, value)); return true;
        case "racnodes":
        case "racNodes": target.getConfiguration().setRacNodes(property(camelContext, java.lang.String.class, value)); return true;
        case "retriablerestartconnectorwaitms":
        case "retriableRestartConnectorWaitMs": target.getConfiguration().setRetriableRestartConnectorWaitMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "schemahistoryinternal":
        case "schemaHistoryInternal": target.getConfiguration().setSchemaHistoryInternal(property(camelContext, java.lang.String.class, value)); return true;
        case "schemahistoryinternalfilefilename":
        case "schemaHistoryInternalFileFilename": target.getConfiguration().setSchemaHistoryInternalFileFilename(property(camelContext, java.lang.String.class, value)); return true;
        case "schemahistoryinternalskipunparseableddl":
        case "schemaHistoryInternalSkipUnparseableDdl": target.getConfiguration().setSchemaHistoryInternalSkipUnparseableDdl(property(camelContext, boolean.class, value)); return true;
        case "schemahistoryinternalstoreonlycaptureddatabasesddl":
        case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": target.getConfiguration().setSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl(property(camelContext, boolean.class, value)); return true;
        case "schemahistoryinternalstoreonlycapturedtablesddl":
        case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": target.getConfiguration().setSchemaHistoryInternalStoreOnlyCapturedTablesDdl(property(camelContext, boolean.class, value)); return true;
        case "schemanameadjustmentmode":
        case "schemaNameAdjustmentMode": target.getConfiguration().setSchemaNameAdjustmentMode(property(camelContext, java.lang.String.class, value)); return true;
        case "signaldatacollection":
        case "signalDataCollection": target.getConfiguration().setSignalDataCollection(property(camelContext, java.lang.String.class, value)); return true;
        case "signalenabledchannels":
        case "signalEnabledChannels": target.getConfiguration().setSignalEnabledChannels(property(camelContext, java.lang.String.class, value)); return true;
        case "signalpollintervalms":
        case "signalPollIntervalMs": target.getConfiguration().setSignalPollIntervalMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "skippedoperations":
        case "skippedOperations": target.getConfiguration().setSkippedOperations(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotdatabaseerrorsmaxretries":
        case "snapshotDatabaseErrorsMaxRetries": target.getConfiguration().setSnapshotDatabaseErrorsMaxRetries(property(camelContext, int.class, value)); return true;
        case "snapshotdelayms":
        case "snapshotDelayMs": target.getConfiguration().setSnapshotDelayMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "snapshotfetchsize":
        case "snapshotFetchSize": target.getConfiguration().setSnapshotFetchSize(property(camelContext, int.class, value)); return true;
        case "snapshotincludecollectionlist":
        case "snapshotIncludeCollectionList": target.getConfiguration().setSnapshotIncludeCollectionList(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotlocktimeoutms":
        case "snapshotLockTimeoutMs": target.getConfiguration().setSnapshotLockTimeoutMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "snapshotlockingmode":
        case "snapshotLockingMode": target.getConfiguration().setSnapshotLockingMode(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotmaxthreads":
        case "snapshotMaxThreads": target.getConfiguration().setSnapshotMaxThreads(property(camelContext, int.class, value)); return true;
        case "snapshotmode":
        case "snapshotMode": target.getConfiguration().setSnapshotMode(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotdata":
        case "snapshotModeConfigurationBasedSnapshotData": target.getConfiguration().setSnapshotModeConfigurationBasedSnapshotData(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotondataerror":
        case "snapshotModeConfigurationBasedSnapshotOnDataError": target.getConfiguration().setSnapshotModeConfigurationBasedSnapshotOnDataError(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotonschemaerror":
        case "snapshotModeConfigurationBasedSnapshotOnSchemaError": target.getConfiguration().setSnapshotModeConfigurationBasedSnapshotOnSchemaError(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedsnapshotschema":
        case "snapshotModeConfigurationBasedSnapshotSchema": target.getConfiguration().setSnapshotModeConfigurationBasedSnapshotSchema(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodeconfigurationbasedstartstream":
        case "snapshotModeConfigurationBasedStartStream": target.getConfiguration().setSnapshotModeConfigurationBasedStartStream(property(camelContext, boolean.class, value)); return true;
        case "snapshotmodecustomname":
        case "snapshotModeCustomName": target.getConfiguration().setSnapshotModeCustomName(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshotselectstatementoverrides":
        case "snapshotSelectStatementOverrides": target.getConfiguration().setSnapshotSelectStatementOverrides(property(camelContext, java.lang.String.class, value)); return true;
        case "snapshottablesorderbyrowcount":
        case "snapshotTablesOrderByRowCount": target.getConfiguration().setSnapshotTablesOrderByRowCount(property(camelContext, java.lang.String.class, value)); return true;
        case "sourceinfostructmaker":
        case "sourceinfoStructMaker": target.getConfiguration().setSourceinfoStructMaker(property(camelContext, java.lang.String.class, value)); return true;
        case "streamingdelayms":
        case "streamingDelayMs": target.getConfiguration().setStreamingDelayMs(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
        case "tableexcludelist":
        case "tableExcludeList": target.getConfiguration().setTableExcludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "tableincludelist":
        case "tableIncludeList": target.getConfiguration().setTableIncludeList(property(camelContext, java.lang.String.class, value)); return true;
        case "timeprecisionmode":
        case "timePrecisionMode": target.getConfiguration().setTimePrecisionMode(property(camelContext, java.lang.String.class, value)); return true;
        case "tombstonesondelete":
        case "tombstonesOnDelete": target.getConfiguration().setTombstonesOnDelete(property(camelContext, boolean.class, value)); return true;
        case "topicnamingstrategy":
        case "topicNamingStrategy": target.getConfiguration().setTopicNamingStrategy(property(camelContext, java.lang.String.class, value)); return true;
        case "topicprefix":
        case "topicPrefix": target.getConfiguration().setTopicPrefix(property(camelContext, java.lang.String.class, value)); return true;
        case "transactionmetadatafactory":
        case "transactionMetadataFactory": target.getConfiguration().setTransactionMetadataFactory(property(camelContext, java.lang.String.class, value)); return true;
        case "unavailablevalueplaceholder":
        case "unavailableValuePlaceholder": target.getConfiguration().setUnavailableValuePlaceholder(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 "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 "converters": return java.lang.String.class;
        case "custommetrictags":
        case "customMetricTags": 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 "exceptionhandler":
        case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
        case "exchangepattern":
        case "exchangePattern": return org.apache.camel.ExchangePattern.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 "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 "logminingbatchsizemax":
        case "logMiningBatchSizeMax": return long.class;
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": return long.class;
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": return boolean.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 "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": return java.lang.String.class;
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": return java.lang.String.class;
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": return long.class;
        case "logminingbuffertype":
        case "logMiningBufferType": return java.lang.String.class;
        case "logminingflushtablename":
        case "logMiningFlushTableName": return java.lang.String.class;
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": return boolean.class;
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": 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 "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 "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 "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;
        default: return null;
        }
    }

    @Override
    public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
        DebeziumOracleEndpoint target = (DebeziumOracleEndpoint) obj;
        switch (ignoreCase ? name.toLowerCase() : name) {
        case "additionalproperties":
        case "additionalProperties": return target.getConfiguration().getAdditionalProperties();
        case "archivedestinationname":
        case "archiveDestinationName": return target.getConfiguration().getArchiveDestinationName();
        case "archiveloghours":
        case "archiveLogHours": return target.getConfiguration().getArchiveLogHours();
        case "binaryhandlingmode":
        case "binaryHandlingMode": return target.getConfiguration().getBinaryHandlingMode();
        case "bridgeerrorhandler":
        case "bridgeErrorHandler": return target.isBridgeErrorHandler();
        case "columnexcludelist":
        case "columnExcludeList": return target.getConfiguration().getColumnExcludeList();
        case "columnincludelist":
        case "columnIncludeList": return target.getConfiguration().getColumnIncludeList();
        case "columnpropagatesourcetype":
        case "columnPropagateSourceType": return target.getConfiguration().getColumnPropagateSourceType();
        case "converters": return target.getConfiguration().getConverters();
        case "custommetrictags":
        case "customMetricTags": return target.getConfiguration().getCustomMetricTags();
        case "databaseconnectionadapter":
        case "databaseConnectionAdapter": return target.getConfiguration().getDatabaseConnectionAdapter();
        case "databasedbname":
        case "databaseDbname": return target.getConfiguration().getDatabaseDbname();
        case "databasehostname":
        case "databaseHostname": return target.getConfiguration().getDatabaseHostname();
        case "databaseoutservername":
        case "databaseOutServerName": return target.getConfiguration().getDatabaseOutServerName();
        case "databasepassword":
        case "databasePassword": return target.getConfiguration().getDatabasePassword();
        case "databasepdbname":
        case "databasePdbName": return target.getConfiguration().getDatabasePdbName();
        case "databaseport":
        case "databasePort": return target.getConfiguration().getDatabasePort();
        case "databasequerytimeoutms":
        case "databaseQueryTimeoutMs": return target.getConfiguration().getDatabaseQueryTimeoutMs();
        case "databaseurl":
        case "databaseUrl": return target.getConfiguration().getDatabaseUrl();
        case "databaseuser":
        case "databaseUser": return target.getConfiguration().getDatabaseUser();
        case "datatypepropagatesourcetype":
        case "datatypePropagateSourceType": return target.getConfiguration().getDatatypePropagateSourceType();
        case "decimalhandlingmode":
        case "decimalHandlingMode": return target.getConfiguration().getDecimalHandlingMode();
        case "errorsmaxretries":
        case "errorsMaxRetries": return target.getConfiguration().getErrorsMaxRetries();
        case "eventprocessingfailurehandlingmode":
        case "eventProcessingFailureHandlingMode": return target.getConfiguration().getEventProcessingFailureHandlingMode();
        case "exceptionhandler":
        case "exceptionHandler": return target.getExceptionHandler();
        case "exchangepattern":
        case "exchangePattern": return target.getExchangePattern();
        case "heartbeatactionquery":
        case "heartbeatActionQuery": return target.getConfiguration().getHeartbeatActionQuery();
        case "heartbeatintervalms":
        case "heartbeatIntervalMs": return target.getConfiguration().getHeartbeatIntervalMs();
        case "heartbeattopicsprefix":
        case "heartbeatTopicsPrefix": return target.getConfiguration().getHeartbeatTopicsPrefix();
        case "includeschemachanges":
        case "includeSchemaChanges": return target.getConfiguration().isIncludeSchemaChanges();
        case "includeschemacomments":
        case "includeSchemaComments": return target.getConfiguration().isIncludeSchemaComments();
        case "incrementalsnapshotwatermarkingstrategy":
        case "incrementalSnapshotWatermarkingStrategy": return target.getConfiguration().getIncrementalSnapshotWatermarkingStrategy();
        case "internalkeyconverter":
        case "internalKeyConverter": return target.getConfiguration().getInternalKeyConverter();
        case "internalvalueconverter":
        case "internalValueConverter": return target.getConfiguration().getInternalValueConverter();
        case "intervalhandlingmode":
        case "intervalHandlingMode": return target.getConfiguration().getIntervalHandlingMode();
        case "lobenabled":
        case "lobEnabled": return target.getConfiguration().isLobEnabled();
        case "logminingarchivelogonlymode":
        case "logMiningArchiveLogOnlyMode": return target.getConfiguration().isLogMiningArchiveLogOnlyMode();
        case "logminingarchivelogonlyscnpollintervalms":
        case "logMiningArchiveLogOnlyScnPollIntervalMs": return target.getConfiguration().getLogMiningArchiveLogOnlyScnPollIntervalMs();
        case "logminingbatchsizedefault":
        case "logMiningBatchSizeDefault": return target.getConfiguration().getLogMiningBatchSizeDefault();
        case "logminingbatchsizemax":
        case "logMiningBatchSizeMax": return target.getConfiguration().getLogMiningBatchSizeMax();
        case "logminingbatchsizemin":
        case "logMiningBatchSizeMin": return target.getConfiguration().getLogMiningBatchSizeMin();
        case "logminingbufferdroponstop":
        case "logMiningBufferDropOnStop": return target.getConfiguration().isLogMiningBufferDropOnStop();
        case "logminingbufferinfinispancacheevents":
        case "logMiningBufferInfinispanCacheEvents": return target.getConfiguration().getLogMiningBufferInfinispanCacheEvents();
        case "logminingbufferinfinispancacheglobal":
        case "logMiningBufferInfinispanCacheGlobal": return target.getConfiguration().getLogMiningBufferInfinispanCacheGlobal();
        case "logminingbufferinfinispancacheprocessedtransactions":
        case "logMiningBufferInfinispanCacheProcessedTransactions": return target.getConfiguration().getLogMiningBufferInfinispanCacheProcessedTransactions();
        case "logminingbufferinfinispancacheschemachanges":
        case "logMiningBufferInfinispanCacheSchemaChanges": return target.getConfiguration().getLogMiningBufferInfinispanCacheSchemaChanges();
        case "logminingbufferinfinispancachetransactions":
        case "logMiningBufferInfinispanCacheTransactions": return target.getConfiguration().getLogMiningBufferInfinispanCacheTransactions();
        case "logminingbuffertransactioneventsthreshold":
        case "logMiningBufferTransactionEventsThreshold": return target.getConfiguration().getLogMiningBufferTransactionEventsThreshold();
        case "logminingbuffertype":
        case "logMiningBufferType": return target.getConfiguration().getLogMiningBufferType();
        case "logminingflushtablename":
        case "logMiningFlushTableName": return target.getConfiguration().getLogMiningFlushTableName();
        case "logminingincluderedosql":
        case "logMiningIncludeRedoSql": return target.getConfiguration().isLogMiningIncludeRedoSql();
        case "logminingqueryfiltermode":
        case "logMiningQueryFilterMode": return target.getConfiguration().getLogMiningQueryFilterMode();
        case "logminingrestartconnection":
        case "logMiningRestartConnection": return target.getConfiguration().isLogMiningRestartConnection();
        case "logminingscngapdetectiongapsizemin":
        case "logMiningScnGapDetectionGapSizeMin": return target.getConfiguration().getLogMiningScnGapDetectionGapSizeMin();
        case "logminingscngapdetectiontimeintervalmaxms":
        case "logMiningScnGapDetectionTimeIntervalMaxMs": return target.getConfiguration().getLogMiningScnGapDetectionTimeIntervalMaxMs();
        case "logminingsessionmaxms":
        case "logMiningSessionMaxMs": return target.getConfiguration().getLogMiningSessionMaxMs();
        case "logminingsleeptimedefaultms":
        case "logMiningSleepTimeDefaultMs": return target.getConfiguration().getLogMiningSleepTimeDefaultMs();
        case "logminingsleeptimeincrementms":
        case "logMiningSleepTimeIncrementMs": return target.getConfiguration().getLogMiningSleepTimeIncrementMs();
        case "logminingsleeptimemaxms":
        case "logMiningSleepTimeMaxMs": return target.getConfiguration().getLogMiningSleepTimeMaxMs();
        case "logminingsleeptimeminms":
        case "logMiningSleepTimeMinMs": return target.getConfiguration().getLogMiningSleepTimeMinMs();
        case "logminingstrategy":
        case "logMiningStrategy": return target.getConfiguration().getLogMiningStrategy();
        case "logminingtransactionretentionms":
        case "logMiningTransactionRetentionMs": return target.getConfiguration().getLogMiningTransactionRetentionMs();
        case "logminingusernameexcludelist":
        case "logMiningUsernameExcludeList": return target.getConfiguration().getLogMiningUsernameExcludeList();
        case "logminingusernameincludelist":
        case "logMiningUsernameIncludeList": return target.getConfiguration().getLogMiningUsernameIncludeList();
        case "maxbatchsize":
        case "maxBatchSize": return target.getConfiguration().getMaxBatchSize();
        case "maxqueuesize":
        case "maxQueueSize": return target.getConfiguration().getMaxQueueSize();
        case "maxqueuesizeinbytes":
        case "maxQueueSizeInBytes": return target.getConfiguration().getMaxQueueSizeInBytes();
        case "messagekeycolumns":
        case "messageKeyColumns": return target.getConfiguration().getMessageKeyColumns();
        case "notificationenabledchannels":
        case "notificationEnabledChannels": return target.getConfiguration().getNotificationEnabledChannels();
        case "notificationsinktopicname":
        case "notificationSinkTopicName": return target.getConfiguration().getNotificationSinkTopicName();
        case "offsetcommitpolicy":
        case "offsetCommitPolicy": return target.getConfiguration().getOffsetCommitPolicy();
        case "offsetcommittimeoutms":
        case "offsetCommitTimeoutMs": return target.getConfiguration().getOffsetCommitTimeoutMs();
        case "offsetflushintervalms":
        case "offsetFlushIntervalMs": return target.getConfiguration().getOffsetFlushIntervalMs();
        case "offsetstorage":
        case "offsetStorage": return target.getConfiguration().getOffsetStorage();
        case "offsetstoragefilename":
        case "offsetStorageFileName": return target.getConfiguration().getOffsetStorageFileName();
        case "offsetstoragepartitions":
        case "offsetStoragePartitions": return target.getConfiguration().getOffsetStoragePartitions();
        case "offsetstoragereplicationfactor":
        case "offsetStorageReplicationFactor": return target.getConfiguration().getOffsetStorageReplicationFactor();
        case "offsetstoragetopic":
        case "offsetStorageTopic": return target.getConfiguration().getOffsetStorageTopic();
        case "openlogreplicatorhost":
        case "openlogreplicatorHost": return target.getConfiguration().getOpenlogreplicatorHost();
        case "openlogreplicatorport":
        case "openlogreplicatorPort": return target.getConfiguration().getOpenlogreplicatorPort();
        case "openlogreplicatorsource":
        case "openlogreplicatorSource": return target.getConfiguration().getOpenlogreplicatorSource();
        case "pollintervalms":
        case "pollIntervalMs": return target.getConfiguration().getPollIntervalMs();
        case "postprocessors":
        case "postProcessors": return target.getConfiguration().getPostProcessors();
        case "providetransactionmetadata":
        case "provideTransactionMetadata": return target.getConfiguration().isProvideTransactionMetadata();
        case "queryfetchsize":
        case "queryFetchSize": return target.getConfiguration().getQueryFetchSize();
        case "racnodes":
        case "racNodes": return target.getConfiguration().getRacNodes();
        case "retriablerestartconnectorwaitms":
        case "retriableRestartConnectorWaitMs": return target.getConfiguration().getRetriableRestartConnectorWaitMs();
        case "schemahistoryinternal":
        case "schemaHistoryInternal": return target.getConfiguration().getSchemaHistoryInternal();
        case "schemahistoryinternalfilefilename":
        case "schemaHistoryInternalFileFilename": return target.getConfiguration().getSchemaHistoryInternalFileFilename();
        case "schemahistoryinternalskipunparseableddl":
        case "schemaHistoryInternalSkipUnparseableDdl": return target.getConfiguration().isSchemaHistoryInternalSkipUnparseableDdl();
        case "schemahistoryinternalstoreonlycaptureddatabasesddl":
        case "schemaHistoryInternalStoreOnlyCapturedDatabasesDdl": return target.getConfiguration().isSchemaHistoryInternalStoreOnlyCapturedDatabasesDdl();
        case "schemahistoryinternalstoreonlycapturedtablesddl":
        case "schemaHistoryInternalStoreOnlyCapturedTablesDdl": return target.getConfiguration().isSchemaHistoryInternalStoreOnlyCapturedTablesDdl();
        case "schemanameadjustmentmode":
        case "schemaNameAdjustmentMode": return target.getConfiguration().getSchemaNameAdjustmentMode();
        case "signaldatacollection":
        case "signalDataCollection": return target.getConfiguration().getSignalDataCollection();
        case "signalenabledchannels":
        case "signalEnabledChannels": return target.getConfiguration().getSignalEnabledChannels();
        case "signalpollintervalms":
        case "signalPollIntervalMs": return target.getConfiguration().getSignalPollIntervalMs();
        case "skippedoperations":
        case "skippedOperations": return target.getConfiguration().getSkippedOperations();
        case "snapshotdatabaseerrorsmaxretries":
        case "snapshotDatabaseErrorsMaxRetries": return target.getConfiguration().getSnapshotDatabaseErrorsMaxRetries();
        case "snapshotdelayms":
        case "snapshotDelayMs": return target.getConfiguration().getSnapshotDelayMs();
        case "snapshotfetchsize":
        case "snapshotFetchSize": return target.getConfiguration().getSnapshotFetchSize();
        case "snapshotincludecollectionlist":
        case "snapshotIncludeCollectionList": return target.getConfiguration().getSnapshotIncludeCollectionList();
        case "snapshotlocktimeoutms":
        case "snapshotLockTimeoutMs": return target.getConfiguration().getSnapshotLockTimeoutMs();
        case "snapshotlockingmode":
        case "snapshotLockingMode": return target.getConfiguration().getSnapshotLockingMode();
        case "snapshotmaxthreads":
        case "snapshotMaxThreads": return target.getConfiguration().getSnapshotMaxThreads();
        case "snapshotmode":
        case "snapshotMode": return target.getConfiguration().getSnapshotMode();
        case "snapshotmodeconfigurationbasedsnapshotdata":
        case "snapshotModeConfigurationBasedSnapshotData": return target.getConfiguration().isSnapshotModeConfigurationBasedSnapshotData();
        case "snapshotmodeconfigurationbasedsnapshotondataerror":
        case "snapshotModeConfigurationBasedSnapshotOnDataError": return target.getConfiguration().isSnapshotModeConfigurationBasedSnapshotOnDataError();
        case "snapshotmodeconfigurationbasedsnapshotonschemaerror":
        case "snapshotModeConfigurationBasedSnapshotOnSchemaError": return target.getConfiguration().isSnapshotModeConfigurationBasedSnapshotOnSchemaError();
        case "snapshotmodeconfigurationbasedsnapshotschema":
        case "snapshotModeConfigurationBasedSnapshotSchema": return target.getConfiguration().isSnapshotModeConfigurationBasedSnapshotSchema();
        case "snapshotmodeconfigurationbasedstartstream":
        case "snapshotModeConfigurationBasedStartStream": return target.getConfiguration().isSnapshotModeConfigurationBasedStartStream();
        case "snapshotmodecustomname":
        case "snapshotModeCustomName": return target.getConfiguration().getSnapshotModeCustomName();
        case "snapshotselectstatementoverrides":
        case "snapshotSelectStatementOverrides": return target.getConfiguration().getSnapshotSelectStatementOverrides();
        case "snapshottablesorderbyrowcount":
        case "snapshotTablesOrderByRowCount": return target.getConfiguration().getSnapshotTablesOrderByRowCount();
        case "sourceinfostructmaker":
        case "sourceinfoStructMaker": return target.getConfiguration().getSourceinfoStructMaker();
        case "streamingdelayms":
        case "streamingDelayMs": return target.getConfiguration().getStreamingDelayMs();
        case "tableexcludelist":
        case "tableExcludeList": return target.getConfiguration().getTableExcludeList();
        case "tableincludelist":
        case "tableIncludeList": return target.getConfiguration().getTableIncludeList();
        case "timeprecisionmode":
        case "timePrecisionMode": return target.getConfiguration().getTimePrecisionMode();
        case "tombstonesondelete":
        case "tombstonesOnDelete": return target.getConfiguration().isTombstonesOnDelete();
        case "topicnamingstrategy":
        case "topicNamingStrategy": return target.getConfiguration().getTopicNamingStrategy();
        case "topicprefix":
        case "topicPrefix": return target.getConfiguration().getTopicPrefix();
        case "transactionmetadatafactory":
        case "transactionMetadataFactory": return target.getConfiguration().getTransactionMetadataFactory();
        case "unavailablevalueplaceholder":
        case "unavailableValuePlaceholder": return target.getConfiguration().getUnavailableValuePlaceholder();
        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;
        }
    }
}

