content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.kafka;
  
  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 KafkaComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      private org.apache.camel.component.kafka.KafkaConfiguration getOrCreateConfiguration(KafkaComponent target) {
          if (target.getConfiguration() == null) {
              target.setConfiguration(new org.apache.camel.component.kafka.KafkaConfiguration());
          }
          return target.getConfiguration();
      }
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          KafkaComponent target = (KafkaComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "additionalproperties":
          case "additionalProperties": getOrCreateConfiguration(target).setAdditionalProperties(property(camelContext, java.util.Map.class, value)); return true;
          case "allowmanualcommit":
          case "allowManualCommit": getOrCreateConfiguration(target).setAllowManualCommit(property(camelContext, boolean.class, value)); return true;
          case "autocommitenable":
          case "autoCommitEnable": getOrCreateConfiguration(target).setAutoCommitEnable(property(camelContext, boolean.class, value)); return true;
          case "autocommitintervalms":
          case "autoCommitIntervalMs": getOrCreateConfiguration(target).setAutoCommitIntervalMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "autooffsetreset":
          case "autoOffsetReset": getOrCreateConfiguration(target).setAutoOffsetReset(property(camelContext, java.lang.String.class, value)); return true;
          case "autowiredenabled":
          case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
          case "batchwithindividualheaders":
          case "batchWithIndividualHeaders": getOrCreateConfiguration(target).setBatchWithIndividualHeaders(property(camelContext, boolean.class, value)); return true;
          case "batching": getOrCreateConfiguration(target).setBatching(property(camelContext, boolean.class, value)); return true;
          case "batchingintervalms":
          case "batchingIntervalMs": getOrCreateConfiguration(target).setBatchingIntervalMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "breakonfirsterror":
          case "breakOnFirstError": getOrCreateConfiguration(target).setBreakOnFirstError(property(camelContext, boolean.class, value)); return true;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
          case "brokers": getOrCreateConfiguration(target).setBrokers(property(camelContext, java.lang.String.class, value)); return true;
          case "buffermemorysize":
          case "bufferMemorySize": getOrCreateConfiguration(target).setBufferMemorySize(property(camelContext, java.lang.Integer.class, value)); return true;
          case "checkcrcs":
          case "checkCrcs": getOrCreateConfiguration(target).setCheckCrcs(property(camelContext, java.lang.Boolean.class, value)); return true;
          case "clientid":
          case "clientId": getOrCreateConfiguration(target).setClientId(property(camelContext, java.lang.String.class, value)); return true;
          case "committimeoutms":
          case "commitTimeoutMs": getOrCreateConfiguration(target).setCommitTimeoutMs(property(camelContext, java.lang.Long.class, value)); return true;
          case "compressioncodec":
          case "compressionCodec": getOrCreateConfiguration(target).setCompressionCodec(property(camelContext, java.lang.String.class, value)); return true;
          case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.kafka.KafkaConfiguration.class, value)); return true;
          case "connectionmaxidlems":
          case "connectionMaxIdleMs": getOrCreateConfiguration(target).setConnectionMaxIdleMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "consumerrequesttimeoutms":
          case "consumerRequestTimeoutMs": getOrCreateConfiguration(target).setConsumerRequestTimeoutMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "consumerscount":
          case "consumersCount": getOrCreateConfiguration(target).setConsumersCount(property(camelContext, int.class, value)); return true;
          case "createconsumerbackoffinterval":
          case "createConsumerBackoffInterval": target.setCreateConsumerBackoffInterval(property(camelContext, long.class, value)); return true;
          case "createconsumerbackoffmaxattempts":
          case "createConsumerBackoffMaxAttempts": target.setCreateConsumerBackoffMaxAttempts(property(camelContext, int.class, value)); return true;
          case "deliverytimeoutms":
          case "deliveryTimeoutMs": getOrCreateConfiguration(target).setDeliveryTimeoutMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "enableidempotence":
          case "enableIdempotence": getOrCreateConfiguration(target).setEnableIdempotence(property(camelContext, boolean.class, value)); return true;
          case "fetchmaxbytes":
          case "fetchMaxBytes": getOrCreateConfiguration(target).setFetchMaxBytes(property(camelContext, java.lang.Integer.class, value)); return true;
          case "fetchminbytes":
          case "fetchMinBytes": getOrCreateConfiguration(target).setFetchMinBytes(property(camelContext, java.lang.Integer.class, value)); return true;
          case "fetchwaitmaxms":
          case "fetchWaitMaxMs": getOrCreateConfiguration(target).setFetchWaitMaxMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "groupid":
          case "groupId": getOrCreateConfiguration(target).setGroupId(property(camelContext, java.lang.String.class, value)); return true;
          case "groupinstanceid":
          case "groupInstanceId": getOrCreateConfiguration(target).setGroupInstanceId(property(camelContext, java.lang.String.class, value)); return true;
          case "headerdeserializer":
          case "headerDeserializer": getOrCreateConfiguration(target).setHeaderDeserializer(property(camelContext, org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer.class, value)); return true;
          case "headerfilterstrategy":
          case "headerFilterStrategy": getOrCreateConfiguration(target).setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
          case "headerserializer":
          case "headerSerializer": getOrCreateConfiguration(target).setHeaderSerializer(property(camelContext, org.apache.camel.component.kafka.serde.KafkaHeaderSerializer.class, value)); return true;
          case "healthcheckconsumerenabled":
          case "healthCheckConsumerEnabled": target.setHealthCheckConsumerEnabled(property(camelContext, boolean.class, value)); return true;
          case "healthcheckproducerenabled":
          case "healthCheckProducerEnabled": target.setHealthCheckProducerEnabled(property(camelContext, boolean.class, value)); return true;
          case "heartbeatintervalms":
          case "heartbeatIntervalMs": getOrCreateConfiguration(target).setHeartbeatIntervalMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "interceptorclasses":
          case "interceptorClasses": getOrCreateConfiguration(target).setInterceptorClasses(property(camelContext, java.lang.String.class, value)); return true;
          case "isolationlevel":
          case "isolationLevel": getOrCreateConfiguration(target).setIsolationLevel(property(camelContext, java.lang.String.class, value)); return true;
          case "kafkaclientfactory":
          case "kafkaClientFactory": target.setKafkaClientFactory(property(camelContext, org.apache.camel.component.kafka.KafkaClientFactory.class, value)); return true;
          case "kafkamanualcommitfactory":
          case "kafkaManualCommitFactory": target.setKafkaManualCommitFactory(property(camelContext, org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory.class, value)); return true;
          case "kerberosbeforereloginmintime":
          case "kerberosBeforeReloginMinTime": getOrCreateConfiguration(target).setKerberosBeforeReloginMinTime(property(camelContext, java.lang.Integer.class, value)); return true;
          case "kerberosconfiglocation":
          case "kerberosConfigLocation": getOrCreateConfiguration(target).setKerberosConfigLocation(property(camelContext, java.lang.String.class, value)); return true;
          case "kerberosinitcmd":
          case "kerberosInitCmd": getOrCreateConfiguration(target).setKerberosInitCmd(property(camelContext, java.lang.String.class, value)); return true;
          case "kerberosprincipaltolocalrules":
          case "kerberosPrincipalToLocalRules": getOrCreateConfiguration(target).setKerberosPrincipalToLocalRules(property(camelContext, java.lang.String.class, value)); return true;
          case "kerberosrenewjitter":
          case "kerberosRenewJitter": getOrCreateConfiguration(target).setKerberosRenewJitter(property(camelContext, java.lang.Double.class, value)); return true;
          case "kerberosrenewwindowfactor":
          case "kerberosRenewWindowFactor": getOrCreateConfiguration(target).setKerberosRenewWindowFactor(property(camelContext, java.lang.Double.class, value)); return true;
          case "key": getOrCreateConfiguration(target).setKey(property(camelContext, java.lang.String.class, value)); return true;
          case "keydeserializer":
          case "keyDeserializer": getOrCreateConfiguration(target).setKeyDeserializer(property(camelContext, java.lang.String.class, value)); return true;
          case "keyserializer":
          case "keySerializer": getOrCreateConfiguration(target).setKeySerializer(property(camelContext, java.lang.String.class, value)); return true;
          case "lazystartproducer":
          case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
          case "lingerms":
          case "lingerMs": getOrCreateConfiguration(target).setLingerMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxblockms":
          case "maxBlockMs": getOrCreateConfiguration(target).setMaxBlockMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxinflightrequest":
          case "maxInFlightRequest": getOrCreateConfiguration(target).setMaxInFlightRequest(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxpartitionfetchbytes":
          case "maxPartitionFetchBytes": getOrCreateConfiguration(target).setMaxPartitionFetchBytes(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxpollintervalms":
          case "maxPollIntervalMs": getOrCreateConfiguration(target).setMaxPollIntervalMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxpollrecords":
          case "maxPollRecords": getOrCreateConfiguration(target).setMaxPollRecords(property(camelContext, java.lang.Integer.class, value)); return true;
          case "maxrequestsize":
          case "maxRequestSize": getOrCreateConfiguration(target).setMaxRequestSize(property(camelContext, java.lang.Integer.class, value)); return true;
          case "metadatamaxagems":
          case "metadataMaxAgeMs": getOrCreateConfiguration(target).setMetadataMaxAgeMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "metricreporters":
          case "metricReporters": getOrCreateConfiguration(target).setMetricReporters(property(camelContext, java.lang.String.class, value)); return true;
          case "metricssamplewindowms":
          case "metricsSampleWindowMs": getOrCreateConfiguration(target).setMetricsSampleWindowMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "noofmetricssample":
          case "noOfMetricsSample": getOrCreateConfiguration(target).setNoOfMetricsSample(property(camelContext, java.lang.Integer.class, value)); return true;
          case "offsetrepository":
          case "offsetRepository": getOrCreateConfiguration(target).setOffsetRepository(property(camelContext, org.apache.camel.spi.StateRepository.class, value)); return true;
          case "partitionassignor":
          case "partitionAssignor": getOrCreateConfiguration(target).setPartitionAssignor(property(camelContext, java.lang.String.class, value)); return true;
          case "partitionkey":
          case "partitionKey": getOrCreateConfiguration(target).setPartitionKey(property(camelContext, java.lang.Integer.class, value)); return true;
          case "partitioner": getOrCreateConfiguration(target).setPartitioner(property(camelContext, java.lang.String.class, value)); return true;
          case "partitionerignorekeys":
          case "partitionerIgnoreKeys": getOrCreateConfiguration(target).setPartitionerIgnoreKeys(property(camelContext, boolean.class, value)); return true;
          case "pollexceptionstrategy":
          case "pollExceptionStrategy": target.setPollExceptionStrategy(property(camelContext, org.apache.camel.component.kafka.PollExceptionStrategy.class, value)); return true;
          case "pollonerror":
          case "pollOnError": getOrCreateConfiguration(target).setPollOnError(property(camelContext, org.apache.camel.component.kafka.PollOnError.class, value)); return true;
          case "polltimeoutms":
          case "pollTimeoutMs": getOrCreateConfiguration(target).setPollTimeoutMs(property(camelContext, java.lang.Long.class, value)); return true;
          case "prevalidatehostandport":
          case "preValidateHostAndPort": getOrCreateConfiguration(target).setPreValidateHostAndPort(property(camelContext, boolean.class, value)); return true;
          case "producerbatchsize":
          case "producerBatchSize": getOrCreateConfiguration(target).setProducerBatchSize(property(camelContext, java.lang.Integer.class, value)); return true;
          case "queuebufferingmaxmessages":
          case "queueBufferingMaxMessages": getOrCreateConfiguration(target).setQueueBufferingMaxMessages(property(camelContext, java.lang.Integer.class, value)); return true;
          case "receivebufferbytes":
          case "receiveBufferBytes": getOrCreateConfiguration(target).setReceiveBufferBytes(property(camelContext, java.lang.Integer.class, value)); return true;
          case "reconnectbackoffmaxms":
          case "reconnectBackoffMaxMs": getOrCreateConfiguration(target).setReconnectBackoffMaxMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "reconnectbackoffms":
          case "reconnectBackoffMs": getOrCreateConfiguration(target).setReconnectBackoffMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "recordmetadata":
          case "recordMetadata": getOrCreateConfiguration(target).setRecordMetadata(property(camelContext, boolean.class, value)); return true;
          case "requestrequiredacks":
          case "requestRequiredAcks": getOrCreateConfiguration(target).setRequestRequiredAcks(property(camelContext, java.lang.String.class, value)); return true;
          case "requesttimeoutms":
          case "requestTimeoutMs": getOrCreateConfiguration(target).setRequestTimeoutMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "retries": getOrCreateConfiguration(target).setRetries(property(camelContext, java.lang.Integer.class, value)); return true;
          case "retrybackoffmaxms":
          case "retryBackoffMaxMs": getOrCreateConfiguration(target).setRetryBackoffMaxMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "retrybackoffms":
          case "retryBackoffMs": getOrCreateConfiguration(target).setRetryBackoffMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "sasljaasconfig":
          case "saslJaasConfig": getOrCreateConfiguration(target).setSaslJaasConfig(property(camelContext, java.lang.String.class, value)); return true;
          case "saslkerberosservicename":
          case "saslKerberosServiceName": getOrCreateConfiguration(target).setSaslKerberosServiceName(property(camelContext, java.lang.String.class, value)); return true;
          case "saslmechanism":
          case "saslMechanism": getOrCreateConfiguration(target).setSaslMechanism(property(camelContext, java.lang.String.class, value)); return true;
          case "schemaregistryurl":
          case "schemaRegistryURL": getOrCreateConfiguration(target).setSchemaRegistryURL(property(camelContext, java.lang.String.class, value)); return true;
          case "securityprotocol":
          case "securityProtocol": getOrCreateConfiguration(target).setSecurityProtocol(property(camelContext, java.lang.String.class, value)); return true;
          case "seekto":
          case "seekTo": getOrCreateConfiguration(target).setSeekTo(property(camelContext, org.apache.camel.component.kafka.SeekPolicy.class, value)); return true;
          case "sendbufferbytes":
          case "sendBufferBytes": getOrCreateConfiguration(target).setSendBufferBytes(property(camelContext, java.lang.Integer.class, value)); return true;
          case "sessiontimeoutms":
          case "sessionTimeoutMs": getOrCreateConfiguration(target).setSessionTimeoutMs(property(camelContext, java.lang.Integer.class, value)); return true;
          case "shutdowntimeout":
          case "shutdownTimeout": getOrCreateConfiguration(target).setShutdownTimeout(property(camelContext, int.class, value)); return true;
          case "specificavroreader":
          case "specificAvroReader": getOrCreateConfiguration(target).setSpecificAvroReader(property(camelContext, boolean.class, value)); return true;
          case "sslciphersuites":
          case "sslCipherSuites": getOrCreateConfiguration(target).setSslCipherSuites(property(camelContext, java.lang.String.class, value)); return true;
          case "sslcontextparameters":
          case "sslContextParameters": getOrCreateConfiguration(target).setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
          case "sslenabledprotocols":
          case "sslEnabledProtocols": getOrCreateConfiguration(target).setSslEnabledProtocols(property(camelContext, java.lang.String.class, value)); return true;
          case "sslendpointalgorithm":
          case "sslEndpointAlgorithm": getOrCreateConfiguration(target).setSslEndpointAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
          case "sslkeypassword":
          case "sslKeyPassword": getOrCreateConfiguration(target).setSslKeyPassword(property(camelContext, java.lang.String.class, value)); return true;
          case "sslkeymanageralgorithm":
          case "sslKeymanagerAlgorithm": getOrCreateConfiguration(target).setSslKeymanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
          case "sslkeystorelocation":
          case "sslKeystoreLocation": getOrCreateConfiguration(target).setSslKeystoreLocation(property(camelContext, java.lang.String.class, value)); return true;
          case "sslkeystorepassword":
          case "sslKeystorePassword": getOrCreateConfiguration(target).setSslKeystorePassword(property(camelContext, java.lang.String.class, value)); return true;
          case "sslkeystoretype":
          case "sslKeystoreType": getOrCreateConfiguration(target).setSslKeystoreType(property(camelContext, java.lang.String.class, value)); return true;
          case "sslprotocol":
          case "sslProtocol": getOrCreateConfiguration(target).setSslProtocol(property(camelContext, java.lang.String.class, value)); return true;
          case "sslprovider":
          case "sslProvider": getOrCreateConfiguration(target).setSslProvider(property(camelContext, java.lang.String.class, value)); return true;
          case "ssltrustmanageralgorithm":
          case "sslTrustmanagerAlgorithm": getOrCreateConfiguration(target).setSslTrustmanagerAlgorithm(property(camelContext, java.lang.String.class, value)); return true;
          case "ssltruststorelocation":
          case "sslTruststoreLocation": getOrCreateConfiguration(target).setSslTruststoreLocation(property(camelContext, java.lang.String.class, value)); return true;
          case "ssltruststorepassword":
          case "sslTruststorePassword": getOrCreateConfiguration(target).setSslTruststorePassword(property(camelContext, java.lang.String.class, value)); return true;
          case "ssltruststoretype":
          case "sslTruststoreType": getOrCreateConfiguration(target).setSslTruststoreType(property(camelContext, java.lang.String.class, value)); return true;
          case "subscribeconsumerbackoffinterval":
          case "subscribeConsumerBackoffInterval": target.setSubscribeConsumerBackoffInterval(property(camelContext, long.class, value)); return true;
          case "subscribeconsumerbackoffmaxattempts":
          case "subscribeConsumerBackoffMaxAttempts": target.setSubscribeConsumerBackoffMaxAttempts(property(camelContext, int.class, value)); return true;
          case "subscribeconsumertopicmustexists":
          case "subscribeConsumerTopicMustExists": target.setSubscribeConsumerTopicMustExists(property(camelContext, boolean.class, value)); return true;
          case "synchronous": getOrCreateConfiguration(target).setSynchronous(property(camelContext, boolean.class, value)); return true;
          case "topicispattern":
          case "topicIsPattern": getOrCreateConfiguration(target).setTopicIsPattern(property(camelContext, boolean.class, value)); return true;
          case "transacted": getOrCreateConfiguration(target).setTransacted(property(camelContext, boolean.class, value)); return true;
          case "transactionalid":
          case "transactionalId": getOrCreateConfiguration(target).setTransactionalId(property(camelContext, java.lang.String.class, value)); return true;
          case "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": target.setUseGlobalSslContextParameters(property(camelContext, boolean.class, value)); return true;
          case "useiterator":
          case "useIterator": getOrCreateConfiguration(target).setUseIterator(property(camelContext, boolean.class, value)); return true;
          case "valuedeserializer":
          case "valueDeserializer": getOrCreateConfiguration(target).setValueDeserializer(property(camelContext, java.lang.String.class, value)); return true;
          case "valueserializer":
          case "valueSerializer": getOrCreateConfiguration(target).setValueSerializer(property(camelContext, java.lang.String.class, value)); return true;
          case "workerpool":
          case "workerPool": getOrCreateConfiguration(target).setWorkerPool(property(camelContext, java.util.concurrent.ExecutorService.class, value)); return true;
          case "workerpoolcoresize":
          case "workerPoolCoreSize": getOrCreateConfiguration(target).setWorkerPoolCoreSize(property(camelContext, java.lang.Integer.class, value)); return true;
          case "workerpoolmaxsize":
          case "workerPoolMaxSize": getOrCreateConfiguration(target).setWorkerPoolMaxSize(property(camelContext, java.lang.Integer.class, value)); return true;
          default: return false;
          }
      }
  
      @Override
      public String[] getAutowiredNames() {
          return new String[]{"kafkaClientFactory", "kafkaManualCommitFactory", "pollExceptionStrategy"};
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "additionalproperties":
          case "additionalProperties": return java.util.Map.class;
          case "allowmanualcommit":
          case "allowManualCommit": return boolean.class;
          case "autocommitenable":
          case "autoCommitEnable": return boolean.class;
          case "autocommitintervalms":
          case "autoCommitIntervalMs": return java.lang.Integer.class;
          case "autooffsetreset":
          case "autoOffsetReset": return java.lang.String.class;
          case "autowiredenabled":
          case "autowiredEnabled": return boolean.class;
          case "batchwithindividualheaders":
          case "batchWithIndividualHeaders": return boolean.class;
          case "batching": return boolean.class;
          case "batchingintervalms":
          case "batchingIntervalMs": return java.lang.Integer.class;
          case "breakonfirsterror":
          case "breakOnFirstError": return boolean.class;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "brokers": return java.lang.String.class;
          case "buffermemorysize":
          case "bufferMemorySize": return java.lang.Integer.class;
          case "checkcrcs":
          case "checkCrcs": return java.lang.Boolean.class;
          case "clientid":
          case "clientId": return java.lang.String.class;
          case "committimeoutms":
          case "commitTimeoutMs": return java.lang.Long.class;
          case "compressioncodec":
          case "compressionCodec": return java.lang.String.class;
          case "configuration": return org.apache.camel.component.kafka.KafkaConfiguration.class;
          case "connectionmaxidlems":
          case "connectionMaxIdleMs": return java.lang.Integer.class;
          case "consumerrequesttimeoutms":
          case "consumerRequestTimeoutMs": return java.lang.Integer.class;
          case "consumerscount":
          case "consumersCount": return int.class;
          case "createconsumerbackoffinterval":
          case "createConsumerBackoffInterval": return long.class;
          case "createconsumerbackoffmaxattempts":
          case "createConsumerBackoffMaxAttempts": return int.class;
          case "deliverytimeoutms":
          case "deliveryTimeoutMs": return java.lang.Integer.class;
          case "enableidempotence":
          case "enableIdempotence": return boolean.class;
          case "fetchmaxbytes":
          case "fetchMaxBytes": return java.lang.Integer.class;
          case "fetchminbytes":
          case "fetchMinBytes": return java.lang.Integer.class;
          case "fetchwaitmaxms":
          case "fetchWaitMaxMs": return java.lang.Integer.class;
          case "groupid":
          case "groupId": return java.lang.String.class;
          case "groupinstanceid":
          case "groupInstanceId": return java.lang.String.class;
          case "headerdeserializer":
          case "headerDeserializer": return org.apache.camel.component.kafka.serde.KafkaHeaderDeserializer.class;
          case "headerfilterstrategy":
          case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
          case "headerserializer":
          case "headerSerializer": return org.apache.camel.component.kafka.serde.KafkaHeaderSerializer.class;
          case "healthcheckconsumerenabled":
          case "healthCheckConsumerEnabled": return boolean.class;
          case "healthcheckproducerenabled":
          case "healthCheckProducerEnabled": return boolean.class;
          case "heartbeatintervalms":
          case "heartbeatIntervalMs": return java.lang.Integer.class;
          case "interceptorclasses":
          case "interceptorClasses": return java.lang.String.class;
          case "isolationlevel":
          case "isolationLevel": return java.lang.String.class;
          case "kafkaclientfactory":
          case "kafkaClientFactory": return org.apache.camel.component.kafka.KafkaClientFactory.class;
          case "kafkamanualcommitfactory":
          case "kafkaManualCommitFactory": return org.apache.camel.component.kafka.consumer.KafkaManualCommitFactory.class;
          case "kerberosbeforereloginmintime":
          case "kerberosBeforeReloginMinTime": return java.lang.Integer.class;
          case "kerberosconfiglocation":
          case "kerberosConfigLocation": return java.lang.String.class;
          case "kerberosinitcmd":
          case "kerberosInitCmd": return java.lang.String.class;
          case "kerberosprincipaltolocalrules":
          case "kerberosPrincipalToLocalRules": return java.lang.String.class;
          case "kerberosrenewjitter":
          case "kerberosRenewJitter": return java.lang.Double.class;
          case "kerberosrenewwindowfactor":
          case "kerberosRenewWindowFactor": return java.lang.Double.class;
          case "key": return java.lang.String.class;
          case "keydeserializer":
          case "keyDeserializer": return java.lang.String.class;
          case "keyserializer":
          case "keySerializer": return java.lang.String.class;
          case "lazystartproducer":
          case "lazyStartProducer": return boolean.class;
          case "lingerms":
          case "lingerMs": return java.lang.Integer.class;
          case "maxblockms":
          case "maxBlockMs": return java.lang.Integer.class;
          case "maxinflightrequest":
          case "maxInFlightRequest": return java.lang.Integer.class;
          case "maxpartitionfetchbytes":
          case "maxPartitionFetchBytes": return java.lang.Integer.class;
          case "maxpollintervalms":
          case "maxPollIntervalMs": return java.lang.Integer.class;
          case "maxpollrecords":
          case "maxPollRecords": return java.lang.Integer.class;
          case "maxrequestsize":
          case "maxRequestSize": return java.lang.Integer.class;
          case "metadatamaxagems":
          case "metadataMaxAgeMs": return java.lang.Integer.class;
          case "metricreporters":
          case "metricReporters": return java.lang.String.class;
          case "metricssamplewindowms":
          case "metricsSampleWindowMs": return java.lang.Integer.class;
          case "noofmetricssample":
          case "noOfMetricsSample": return java.lang.Integer.class;
          case "offsetrepository":
          case "offsetRepository": return org.apache.camel.spi.StateRepository.class;
          case "partitionassignor":
          case "partitionAssignor": return java.lang.String.class;
          case "partitionkey":
          case "partitionKey": return java.lang.Integer.class;
          case "partitioner": return java.lang.String.class;
          case "partitionerignorekeys":
          case "partitionerIgnoreKeys": return boolean.class;
          case "pollexceptionstrategy":
          case "pollExceptionStrategy": return org.apache.camel.component.kafka.PollExceptionStrategy.class;
          case "pollonerror":
          case "pollOnError": return org.apache.camel.component.kafka.PollOnError.class;
          case "polltimeoutms":
          case "pollTimeoutMs": return java.lang.Long.class;
          case "prevalidatehostandport":
          case "preValidateHostAndPort": return boolean.class;
          case "producerbatchsize":
          case "producerBatchSize": return java.lang.Integer.class;
          case "queuebufferingmaxmessages":
          case "queueBufferingMaxMessages": return java.lang.Integer.class;
          case "receivebufferbytes":
          case "receiveBufferBytes": return java.lang.Integer.class;
          case "reconnectbackoffmaxms":
          case "reconnectBackoffMaxMs": return java.lang.Integer.class;
          case "reconnectbackoffms":
          case "reconnectBackoffMs": return java.lang.Integer.class;
          case "recordmetadata":
          case "recordMetadata": return boolean.class;
          case "requestrequiredacks":
          case "requestRequiredAcks": return java.lang.String.class;
          case "requesttimeoutms":
          case "requestTimeoutMs": return java.lang.Integer.class;
          case "retries": return java.lang.Integer.class;
          case "retrybackoffmaxms":
          case "retryBackoffMaxMs": return java.lang.Integer.class;
          case "retrybackoffms":
          case "retryBackoffMs": return java.lang.Integer.class;
          case "sasljaasconfig":
          case "saslJaasConfig": return java.lang.String.class;
          case "saslkerberosservicename":
          case "saslKerberosServiceName": return java.lang.String.class;
          case "saslmechanism":
          case "saslMechanism": return java.lang.String.class;
          case "schemaregistryurl":
          case "schemaRegistryURL": return java.lang.String.class;
          case "securityprotocol":
          case "securityProtocol": return java.lang.String.class;
          case "seekto":
          case "seekTo": return org.apache.camel.component.kafka.SeekPolicy.class;
          case "sendbufferbytes":
          case "sendBufferBytes": return java.lang.Integer.class;
          case "sessiontimeoutms":
          case "sessionTimeoutMs": return java.lang.Integer.class;
          case "shutdowntimeout":
          case "shutdownTimeout": return int.class;
          case "specificavroreader":
          case "specificAvroReader": return boolean.class;
          case "sslciphersuites":
          case "sslCipherSuites": return java.lang.String.class;
          case "sslcontextparameters":
          case "sslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
          case "sslenabledprotocols":
          case "sslEnabledProtocols": return java.lang.String.class;
          case "sslendpointalgorithm":
          case "sslEndpointAlgorithm": return java.lang.String.class;
          case "sslkeypassword":
          case "sslKeyPassword": return java.lang.String.class;
          case "sslkeymanageralgorithm":
          case "sslKeymanagerAlgorithm": return java.lang.String.class;
          case "sslkeystorelocation":
          case "sslKeystoreLocation": return java.lang.String.class;
          case "sslkeystorepassword":
          case "sslKeystorePassword": return java.lang.String.class;
          case "sslkeystoretype":
          case "sslKeystoreType": return java.lang.String.class;
          case "sslprotocol":
          case "sslProtocol": return java.lang.String.class;
          case "sslprovider":
          case "sslProvider": return java.lang.String.class;
          case "ssltrustmanageralgorithm":
          case "sslTrustmanagerAlgorithm": return java.lang.String.class;
          case "ssltruststorelocation":
          case "sslTruststoreLocation": return java.lang.String.class;
          case "ssltruststorepassword":
          case "sslTruststorePassword": return java.lang.String.class;
          case "ssltruststoretype":
          case "sslTruststoreType": return java.lang.String.class;
          case "subscribeconsumerbackoffinterval":
          case "subscribeConsumerBackoffInterval": return long.class;
          case "subscribeconsumerbackoffmaxattempts":
          case "subscribeConsumerBackoffMaxAttempts": return int.class;
          case "subscribeconsumertopicmustexists":
          case "subscribeConsumerTopicMustExists": return boolean.class;
          case "synchronous": return boolean.class;
          case "topicispattern":
          case "topicIsPattern": return boolean.class;
          case "transacted": return boolean.class;
          case "transactionalid":
          case "transactionalId": return java.lang.String.class;
          case "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": return boolean.class;
          case "useiterator":
          case "useIterator": return boolean.class;
          case "valuedeserializer":
          case "valueDeserializer": return java.lang.String.class;
          case "valueserializer":
          case "valueSerializer": return java.lang.String.class;
          case "workerpool":
          case "workerPool": return java.util.concurrent.ExecutorService.class;
          case "workerpoolcoresize":
          case "workerPoolCoreSize": return java.lang.Integer.class;
          case "workerpoolmaxsize":
          case "workerPoolMaxSize": return java.lang.Integer.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          KafkaComponent target = (KafkaComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "additionalproperties":
          case "additionalProperties": return getOrCreateConfiguration(target).getAdditionalProperties();
          case "allowmanualcommit":
          case "allowManualCommit": return getOrCreateConfiguration(target).isAllowManualCommit();
          case "autocommitenable":
          case "autoCommitEnable": return getOrCreateConfiguration(target).isAutoCommitEnable();
          case "autocommitintervalms":
          case "autoCommitIntervalMs": return getOrCreateConfiguration(target).getAutoCommitIntervalMs();
          case "autooffsetreset":
          case "autoOffsetReset": return getOrCreateConfiguration(target).getAutoOffsetReset();
          case "autowiredenabled":
          case "autowiredEnabled": return target.isAutowiredEnabled();
          case "batchwithindividualheaders":
          case "batchWithIndividualHeaders": return getOrCreateConfiguration(target).isBatchWithIndividualHeaders();
          case "batching": return getOrCreateConfiguration(target).isBatching();
          case "batchingintervalms":
          case "batchingIntervalMs": return getOrCreateConfiguration(target).getBatchingIntervalMs();
          case "breakonfirsterror":
          case "breakOnFirstError": return getOrCreateConfiguration(target).isBreakOnFirstError();
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "brokers": return getOrCreateConfiguration(target).getBrokers();
          case "buffermemorysize":
          case "bufferMemorySize": return getOrCreateConfiguration(target).getBufferMemorySize();
          case "checkcrcs":
          case "checkCrcs": return getOrCreateConfiguration(target).getCheckCrcs();
          case "clientid":
          case "clientId": return getOrCreateConfiguration(target).getClientId();
          case "committimeoutms":
          case "commitTimeoutMs": return getOrCreateConfiguration(target).getCommitTimeoutMs();
          case "compressioncodec":
          case "compressionCodec": return getOrCreateConfiguration(target).getCompressionCodec();
          case "configuration": return target.getConfiguration();
          case "connectionmaxidlems":
          case "connectionMaxIdleMs": return getOrCreateConfiguration(target).getConnectionMaxIdleMs();
          case "consumerrequesttimeoutms":
          case "consumerRequestTimeoutMs": return getOrCreateConfiguration(target).getConsumerRequestTimeoutMs();
          case "consumerscount":
          case "consumersCount": return getOrCreateConfiguration(target).getConsumersCount();
          case "createconsumerbackoffinterval":
          case "createConsumerBackoffInterval": return target.getCreateConsumerBackoffInterval();
          case "createconsumerbackoffmaxattempts":
          case "createConsumerBackoffMaxAttempts": return target.getCreateConsumerBackoffMaxAttempts();
          case "deliverytimeoutms":
          case "deliveryTimeoutMs": return getOrCreateConfiguration(target).getDeliveryTimeoutMs();
          case "enableidempotence":
          case "enableIdempotence": return getOrCreateConfiguration(target).isEnableIdempotence();
          case "fetchmaxbytes":
          case "fetchMaxBytes": return getOrCreateConfiguration(target).getFetchMaxBytes();
          case "fetchminbytes":
          case "fetchMinBytes": return getOrCreateConfiguration(target).getFetchMinBytes();
          case "fetchwaitmaxms":
          case "fetchWaitMaxMs": return getOrCreateConfiguration(target).getFetchWaitMaxMs();
          case "groupid":
          case "groupId": return getOrCreateConfiguration(target).getGroupId();
          case "groupinstanceid":
          case "groupInstanceId": return getOrCreateConfiguration(target).getGroupInstanceId();
          case "headerdeserializer":
          case "headerDeserializer": return getOrCreateConfiguration(target).getHeaderDeserializer();
          case "headerfilterstrategy":
          case "headerFilterStrategy": return getOrCreateConfiguration(target).getHeaderFilterStrategy();
          case "headerserializer":
          case "headerSerializer": return getOrCreateConfiguration(target).getHeaderSerializer();
          case "healthcheckconsumerenabled":
          case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
          case "healthcheckproducerenabled":
          case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
          case "heartbeatintervalms":
          case "heartbeatIntervalMs": return getOrCreateConfiguration(target).getHeartbeatIntervalMs();
          case "interceptorclasses":
          case "interceptorClasses": return getOrCreateConfiguration(target).getInterceptorClasses();
          case "isolationlevel":
          case "isolationLevel": return getOrCreateConfiguration(target).getIsolationLevel();
          case "kafkaclientfactory":
          case "kafkaClientFactory": return target.getKafkaClientFactory();
          case "kafkamanualcommitfactory":
          case "kafkaManualCommitFactory": return target.getKafkaManualCommitFactory();
          case "kerberosbeforereloginmintime":
          case "kerberosBeforeReloginMinTime": return getOrCreateConfiguration(target).getKerberosBeforeReloginMinTime();
          case "kerberosconfiglocation":
          case "kerberosConfigLocation": return getOrCreateConfiguration(target).getKerberosConfigLocation();
          case "kerberosinitcmd":
          case "kerberosInitCmd": return getOrCreateConfiguration(target).getKerberosInitCmd();
          case "kerberosprincipaltolocalrules":
          case "kerberosPrincipalToLocalRules": return getOrCreateConfiguration(target).getKerberosPrincipalToLocalRules();
          case "kerberosrenewjitter":
          case "kerberosRenewJitter": return getOrCreateConfiguration(target).getKerberosRenewJitter();
          case "kerberosrenewwindowfactor":
          case "kerberosRenewWindowFactor": return getOrCreateConfiguration(target).getKerberosRenewWindowFactor();
          case "key": return getOrCreateConfiguration(target).getKey();
          case "keydeserializer":
          case "keyDeserializer": return getOrCreateConfiguration(target).getKeyDeserializer();
          case "keyserializer":
          case "keySerializer": return getOrCreateConfiguration(target).getKeySerializer();
          case "lazystartproducer":
          case "lazyStartProducer": return target.isLazyStartProducer();
          case "lingerms":
          case "lingerMs": return getOrCreateConfiguration(target).getLingerMs();
          case "maxblockms":
          case "maxBlockMs": return getOrCreateConfiguration(target).getMaxBlockMs();
          case "maxinflightrequest":
          case "maxInFlightRequest": return getOrCreateConfiguration(target).getMaxInFlightRequest();
          case "maxpartitionfetchbytes":
          case "maxPartitionFetchBytes": return getOrCreateConfiguration(target).getMaxPartitionFetchBytes();
          case "maxpollintervalms":
          case "maxPollIntervalMs": return getOrCreateConfiguration(target).getMaxPollIntervalMs();
          case "maxpollrecords":
          case "maxPollRecords": return getOrCreateConfiguration(target).getMaxPollRecords();
          case "maxrequestsize":
          case "maxRequestSize": return getOrCreateConfiguration(target).getMaxRequestSize();
          case "metadatamaxagems":
          case "metadataMaxAgeMs": return getOrCreateConfiguration(target).getMetadataMaxAgeMs();
          case "metricreporters":
          case "metricReporters": return getOrCreateConfiguration(target).getMetricReporters();
          case "metricssamplewindowms":
          case "metricsSampleWindowMs": return getOrCreateConfiguration(target).getMetricsSampleWindowMs();
          case "noofmetricssample":
          case "noOfMetricsSample": return getOrCreateConfiguration(target).getNoOfMetricsSample();
          case "offsetrepository":
          case "offsetRepository": return getOrCreateConfiguration(target).getOffsetRepository();
          case "partitionassignor":
          case "partitionAssignor": return getOrCreateConfiguration(target).getPartitionAssignor();
          case "partitionkey":
          case "partitionKey": return getOrCreateConfiguration(target).getPartitionKey();
          case "partitioner": return getOrCreateConfiguration(target).getPartitioner();
          case "partitionerignorekeys":
          case "partitionerIgnoreKeys": return getOrCreateConfiguration(target).isPartitionerIgnoreKeys();
          case "pollexceptionstrategy":
          case "pollExceptionStrategy": return target.getPollExceptionStrategy();
          case "pollonerror":
          case "pollOnError": return getOrCreateConfiguration(target).getPollOnError();
          case "polltimeoutms":
          case "pollTimeoutMs": return getOrCreateConfiguration(target).getPollTimeoutMs();
          case "prevalidatehostandport":
          case "preValidateHostAndPort": return getOrCreateConfiguration(target).isPreValidateHostAndPort();
          case "producerbatchsize":
          case "producerBatchSize": return getOrCreateConfiguration(target).getProducerBatchSize();
          case "queuebufferingmaxmessages":
          case "queueBufferingMaxMessages": return getOrCreateConfiguration(target).getQueueBufferingMaxMessages();
          case "receivebufferbytes":
          case "receiveBufferBytes": return getOrCreateConfiguration(target).getReceiveBufferBytes();
          case "reconnectbackoffmaxms":
          case "reconnectBackoffMaxMs": return getOrCreateConfiguration(target).getReconnectBackoffMaxMs();
          case "reconnectbackoffms":
          case "reconnectBackoffMs": return getOrCreateConfiguration(target).getReconnectBackoffMs();
          case "recordmetadata":
          case "recordMetadata": return getOrCreateConfiguration(target).isRecordMetadata();
          case "requestrequiredacks":
          case "requestRequiredAcks": return getOrCreateConfiguration(target).getRequestRequiredAcks();
          case "requesttimeoutms":
          case "requestTimeoutMs": return getOrCreateConfiguration(target).getRequestTimeoutMs();
          case "retries": return getOrCreateConfiguration(target).getRetries();
          case "retrybackoffmaxms":
          case "retryBackoffMaxMs": return getOrCreateConfiguration(target).getRetryBackoffMaxMs();
          case "retrybackoffms":
          case "retryBackoffMs": return getOrCreateConfiguration(target).getRetryBackoffMs();
          case "sasljaasconfig":
          case "saslJaasConfig": return getOrCreateConfiguration(target).getSaslJaasConfig();
          case "saslkerberosservicename":
          case "saslKerberosServiceName": return getOrCreateConfiguration(target).getSaslKerberosServiceName();
          case "saslmechanism":
          case "saslMechanism": return getOrCreateConfiguration(target).getSaslMechanism();
          case "schemaregistryurl":
          case "schemaRegistryURL": return getOrCreateConfiguration(target).getSchemaRegistryURL();
          case "securityprotocol":
          case "securityProtocol": return getOrCreateConfiguration(target).getSecurityProtocol();
          case "seekto":
          case "seekTo": return getOrCreateConfiguration(target).getSeekTo();
          case "sendbufferbytes":
          case "sendBufferBytes": return getOrCreateConfiguration(target).getSendBufferBytes();
          case "sessiontimeoutms":
          case "sessionTimeoutMs": return getOrCreateConfiguration(target).getSessionTimeoutMs();
          case "shutdowntimeout":
          case "shutdownTimeout": return getOrCreateConfiguration(target).getShutdownTimeout();
          case "specificavroreader":
          case "specificAvroReader": return getOrCreateConfiguration(target).isSpecificAvroReader();
          case "sslciphersuites":
          case "sslCipherSuites": return getOrCreateConfiguration(target).getSslCipherSuites();
          case "sslcontextparameters":
          case "sslContextParameters": return getOrCreateConfiguration(target).getSslContextParameters();
          case "sslenabledprotocols":
          case "sslEnabledProtocols": return getOrCreateConfiguration(target).getSslEnabledProtocols();
          case "sslendpointalgorithm":
          case "sslEndpointAlgorithm": return getOrCreateConfiguration(target).getSslEndpointAlgorithm();
          case "sslkeypassword":
          case "sslKeyPassword": return getOrCreateConfiguration(target).getSslKeyPassword();
          case "sslkeymanageralgorithm":
          case "sslKeymanagerAlgorithm": return getOrCreateConfiguration(target).getSslKeymanagerAlgorithm();
          case "sslkeystorelocation":
          case "sslKeystoreLocation": return getOrCreateConfiguration(target).getSslKeystoreLocation();
          case "sslkeystorepassword":
          case "sslKeystorePassword": return getOrCreateConfiguration(target).getSslKeystorePassword();
          case "sslkeystoretype":
          case "sslKeystoreType": return getOrCreateConfiguration(target).getSslKeystoreType();
          case "sslprotocol":
          case "sslProtocol": return getOrCreateConfiguration(target).getSslProtocol();
          case "sslprovider":
          case "sslProvider": return getOrCreateConfiguration(target).getSslProvider();
          case "ssltrustmanageralgorithm":
          case "sslTrustmanagerAlgorithm": return getOrCreateConfiguration(target).getSslTrustmanagerAlgorithm();
          case "ssltruststorelocation":
          case "sslTruststoreLocation": return getOrCreateConfiguration(target).getSslTruststoreLocation();
          case "ssltruststorepassword":
          case "sslTruststorePassword": return getOrCreateConfiguration(target).getSslTruststorePassword();
          case "ssltruststoretype":
          case "sslTruststoreType": return getOrCreateConfiguration(target).getSslTruststoreType();
          case "subscribeconsumerbackoffinterval":
          case "subscribeConsumerBackoffInterval": return target.getSubscribeConsumerBackoffInterval();
          case "subscribeconsumerbackoffmaxattempts":
          case "subscribeConsumerBackoffMaxAttempts": return target.getSubscribeConsumerBackoffMaxAttempts();
          case "subscribeconsumertopicmustexists":
          case "subscribeConsumerTopicMustExists": return target.isSubscribeConsumerTopicMustExists();
          case "synchronous": return getOrCreateConfiguration(target).isSynchronous();
          case "topicispattern":
          case "topicIsPattern": return getOrCreateConfiguration(target).isTopicIsPattern();
          case "transacted": return getOrCreateConfiguration(target).isTransacted();
          case "transactionalid":
          case "transactionalId": return getOrCreateConfiguration(target).getTransactionalId();
          case "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": return target.isUseGlobalSslContextParameters();
          case "useiterator":
          case "useIterator": return getOrCreateConfiguration(target).isUseIterator();
          case "valuedeserializer":
          case "valueDeserializer": return getOrCreateConfiguration(target).getValueDeserializer();
          case "valueserializer":
          case "valueSerializer": return getOrCreateConfiguration(target).getValueSerializer();
          case "workerpool":
          case "workerPool": return getOrCreateConfiguration(target).getWorkerPool();
          case "workerpoolcoresize":
          case "workerPoolCoreSize": return getOrCreateConfiguration(target).getWorkerPoolCoreSize();
          case "workerpoolmaxsize":
          case "workerPoolMaxSize": return getOrCreateConfiguration(target).getWorkerPoolMaxSize();
          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;
          case "offsetrepository":
          case "offsetRepository": return java.lang.String.class;
          default: return null;
          }
      }
  }
  
  