content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.minio;
  
  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 MinioComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      private org.apache.camel.component.minio.MinioConfiguration getOrCreateConfiguration(MinioComponent target) {
          if (target.getConfiguration() == null) {
              target.setConfiguration(new org.apache.camel.component.minio.MinioConfiguration());
          }
          return target.getConfiguration();
      }
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          MinioComponent target = (MinioComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "accesskey":
          case "accessKey": getOrCreateConfiguration(target).setAccessKey(property(camelContext, java.lang.String.class, value)); return true;
          case "autoclosebody":
          case "autoCloseBody": getOrCreateConfiguration(target).setAutoCloseBody(property(camelContext, boolean.class, value)); return true;
          case "autocreatebucket":
          case "autoCreateBucket": getOrCreateConfiguration(target).setAutoCreateBucket(property(camelContext, boolean.class, value)); return true;
          case "autowiredenabled":
          case "autowiredEnabled": target.setAutowiredEnabled(property(camelContext, boolean.class, value)); return true;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
          case "bypassgovernancemode":
          case "bypassGovernanceMode": getOrCreateConfiguration(target).setBypassGovernanceMode(property(camelContext, boolean.class, value)); return true;
          case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.minio.MinioConfiguration.class, value)); return true;
          case "customhttpclient":
          case "customHttpClient": getOrCreateConfiguration(target).setCustomHttpClient(property(camelContext, okhttp3.OkHttpClient.class, value)); return true;
          case "deleteafterread":
          case "deleteAfterRead": getOrCreateConfiguration(target).setDeleteAfterRead(property(camelContext, boolean.class, value)); return true;
          case "deleteafterwrite":
          case "deleteAfterWrite": getOrCreateConfiguration(target).setDeleteAfterWrite(property(camelContext, boolean.class, value)); return true;
          case "delimiter": getOrCreateConfiguration(target).setDelimiter(property(camelContext, java.lang.String.class, value)); return true;
          case "destinationbucketname":
          case "destinationBucketName": getOrCreateConfiguration(target).setDestinationBucketName(property(camelContext, java.lang.String.class, value)); return true;
          case "destinationobjectname":
          case "destinationObjectName": getOrCreateConfiguration(target).setDestinationObjectName(property(camelContext, java.lang.String.class, value)); return true;
          case "endpoint": getOrCreateConfiguration(target).setEndpoint(property(camelContext, java.lang.String.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 "includebody":
          case "includeBody": getOrCreateConfiguration(target).setIncludeBody(property(camelContext, boolean.class, value)); return true;
          case "includefolders":
          case "includeFolders": getOrCreateConfiguration(target).setIncludeFolders(property(camelContext, boolean.class, value)); return true;
          case "includeusermetadata":
          case "includeUserMetadata": getOrCreateConfiguration(target).setIncludeUserMetadata(property(camelContext, boolean.class, value)); return true;
          case "includeversions":
          case "includeVersions": getOrCreateConfiguration(target).setIncludeVersions(property(camelContext, boolean.class, value)); return true;
          case "keyname":
          case "keyName": getOrCreateConfiguration(target).setKeyName(property(camelContext, java.lang.String.class, value)); return true;
          case "lazystartproducer":
          case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
          case "length": getOrCreateConfiguration(target).setLength(property(camelContext, long.class, value)); return true;
          case "matchetag":
          case "matchETag": getOrCreateConfiguration(target).setMatchETag(property(camelContext, java.lang.String.class, value)); return true;
          case "maxconnections":
          case "maxConnections": getOrCreateConfiguration(target).setMaxConnections(property(camelContext, int.class, value)); return true;
          case "maxmessagesperpoll":
          case "maxMessagesPerPoll": getOrCreateConfiguration(target).setMaxMessagesPerPoll(property(camelContext, int.class, value)); return true;
          case "minioclient":
          case "minioClient": getOrCreateConfiguration(target).setMinioClient(property(camelContext, io.minio.MinioClient.class, value)); return true;
          case "modifiedsince":
          case "modifiedSince": getOrCreateConfiguration(target).setModifiedSince(property(camelContext, java.time.ZonedDateTime.class, value)); return true;
          case "moveafterread":
          case "moveAfterRead": getOrCreateConfiguration(target).setMoveAfterRead(property(camelContext, boolean.class, value)); return true;
          case "notmatchetag":
          case "notMatchETag": getOrCreateConfiguration(target).setNotMatchETag(property(camelContext, java.lang.String.class, value)); return true;
          case "objectlock":
          case "objectLock": getOrCreateConfiguration(target).setObjectLock(property(camelContext, boolean.class, value)); return true;
          case "objectname":
          case "objectName": getOrCreateConfiguration(target).setObjectName(property(camelContext, java.lang.String.class, value)); return true;
          case "offset": getOrCreateConfiguration(target).setOffset(property(camelContext, long.class, value)); return true;
          case "operation": getOrCreateConfiguration(target).setOperation(property(camelContext, org.apache.camel.component.minio.MinioOperations.class, value)); return true;
          case "pojorequest":
          case "pojoRequest": getOrCreateConfiguration(target).setPojoRequest(property(camelContext, boolean.class, value)); return true;
          case "policy": getOrCreateConfiguration(target).setPolicy(property(camelContext, java.lang.String.class, value)); return true;
          case "prefix": getOrCreateConfiguration(target).setPrefix(property(camelContext, java.lang.String.class, value)); return true;
          case "proxyport":
          case "proxyPort": getOrCreateConfiguration(target).setProxyPort(property(camelContext, java.lang.Integer.class, value)); return true;
          case "recursive": getOrCreateConfiguration(target).setRecursive(property(camelContext, boolean.class, value)); return true;
          case "region": getOrCreateConfiguration(target).setRegion(property(camelContext, java.lang.String.class, value)); return true;
          case "secretkey":
          case "secretKey": getOrCreateConfiguration(target).setSecretKey(property(camelContext, java.lang.String.class, value)); return true;
          case "secure": getOrCreateConfiguration(target).setSecure(property(camelContext, boolean.class, value)); return true;
          case "serversideencryption":
          case "serverSideEncryption": getOrCreateConfiguration(target).setServerSideEncryption(property(camelContext, io.minio.ServerSideEncryption.class, value)); return true;
          case "serversideencryptioncustomerkey":
          case "serverSideEncryptionCustomerKey": getOrCreateConfiguration(target).setServerSideEncryptionCustomerKey(property(camelContext, io.minio.ServerSideEncryptionCustomerKey.class, value)); return true;
          case "startafter":
          case "startAfter": getOrCreateConfiguration(target).setStartAfter(property(camelContext, java.lang.String.class, value)); return true;
          case "storageclass":
          case "storageClass": getOrCreateConfiguration(target).setStorageClass(property(camelContext, java.lang.String.class, value)); return true;
          case "unmodifiedsince":
          case "unModifiedSince": getOrCreateConfiguration(target).setUnModifiedSince(property(camelContext, java.time.ZonedDateTime.class, value)); return true;
          case "useversion1":
          case "useVersion1": getOrCreateConfiguration(target).setUseVersion1(property(camelContext, boolean.class, value)); return true;
          case "versionid":
          case "versionId": getOrCreateConfiguration(target).setVersionId(property(camelContext, java.lang.String.class, value)); return true;
          default: return false;
          }
      }
  
      @Override
      public String[] getAutowiredNames() {
          return new String[]{"minioClient"};
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "accesskey":
          case "accessKey": return java.lang.String.class;
          case "autoclosebody":
          case "autoCloseBody": return boolean.class;
          case "autocreatebucket":
          case "autoCreateBucket": return boolean.class;
          case "autowiredenabled":
          case "autowiredEnabled": return boolean.class;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "bypassgovernancemode":
          case "bypassGovernanceMode": return boolean.class;
          case "configuration": return org.apache.camel.component.minio.MinioConfiguration.class;
          case "customhttpclient":
          case "customHttpClient": return okhttp3.OkHttpClient.class;
          case "deleteafterread":
          case "deleteAfterRead": return boolean.class;
          case "deleteafterwrite":
          case "deleteAfterWrite": return boolean.class;
          case "delimiter": return java.lang.String.class;
          case "destinationbucketname":
          case "destinationBucketName": return java.lang.String.class;
          case "destinationobjectname":
          case "destinationObjectName": return java.lang.String.class;
          case "endpoint": return java.lang.String.class;
          case "healthcheckconsumerenabled":
          case "healthCheckConsumerEnabled": return boolean.class;
          case "healthcheckproducerenabled":
          case "healthCheckProducerEnabled": return boolean.class;
          case "includebody":
          case "includeBody": return boolean.class;
          case "includefolders":
          case "includeFolders": return boolean.class;
          case "includeusermetadata":
          case "includeUserMetadata": return boolean.class;
          case "includeversions":
          case "includeVersions": return boolean.class;
          case "keyname":
          case "keyName": return java.lang.String.class;
          case "lazystartproducer":
          case "lazyStartProducer": return boolean.class;
          case "length": return long.class;
          case "matchetag":
          case "matchETag": return java.lang.String.class;
          case "maxconnections":
          case "maxConnections": return int.class;
          case "maxmessagesperpoll":
          case "maxMessagesPerPoll": return int.class;
          case "minioclient":
          case "minioClient": return io.minio.MinioClient.class;
          case "modifiedsince":
          case "modifiedSince": return java.time.ZonedDateTime.class;
          case "moveafterread":
          case "moveAfterRead": return boolean.class;
          case "notmatchetag":
          case "notMatchETag": return java.lang.String.class;
          case "objectlock":
          case "objectLock": return boolean.class;
          case "objectname":
          case "objectName": return java.lang.String.class;
          case "offset": return long.class;
          case "operation": return org.apache.camel.component.minio.MinioOperations.class;
          case "pojorequest":
          case "pojoRequest": return boolean.class;
          case "policy": return java.lang.String.class;
          case "prefix": return java.lang.String.class;
          case "proxyport":
          case "proxyPort": return java.lang.Integer.class;
          case "recursive": return boolean.class;
          case "region": return java.lang.String.class;
          case "secretkey":
          case "secretKey": return java.lang.String.class;
          case "secure": return boolean.class;
          case "serversideencryption":
          case "serverSideEncryption": return io.minio.ServerSideEncryption.class;
          case "serversideencryptioncustomerkey":
          case "serverSideEncryptionCustomerKey": return io.minio.ServerSideEncryptionCustomerKey.class;
          case "startafter":
          case "startAfter": return java.lang.String.class;
          case "storageclass":
          case "storageClass": return java.lang.String.class;
          case "unmodifiedsince":
          case "unModifiedSince": return java.time.ZonedDateTime.class;
          case "useversion1":
          case "useVersion1": return boolean.class;
          case "versionid":
          case "versionId": return java.lang.String.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          MinioComponent target = (MinioComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "accesskey":
          case "accessKey": return getOrCreateConfiguration(target).getAccessKey();
          case "autoclosebody":
          case "autoCloseBody": return getOrCreateConfiguration(target).isAutoCloseBody();
          case "autocreatebucket":
          case "autoCreateBucket": return getOrCreateConfiguration(target).isAutoCreateBucket();
          case "autowiredenabled":
          case "autowiredEnabled": return target.isAutowiredEnabled();
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "bypassgovernancemode":
          case "bypassGovernanceMode": return getOrCreateConfiguration(target).isBypassGovernanceMode();
          case "configuration": return target.getConfiguration();
          case "customhttpclient":
          case "customHttpClient": return getOrCreateConfiguration(target).getCustomHttpClient();
          case "deleteafterread":
          case "deleteAfterRead": return getOrCreateConfiguration(target).isDeleteAfterRead();
          case "deleteafterwrite":
          case "deleteAfterWrite": return getOrCreateConfiguration(target).isDeleteAfterWrite();
          case "delimiter": return getOrCreateConfiguration(target).getDelimiter();
          case "destinationbucketname":
          case "destinationBucketName": return getOrCreateConfiguration(target).getDestinationBucketName();
          case "destinationobjectname":
          case "destinationObjectName": return getOrCreateConfiguration(target).getDestinationObjectName();
          case "endpoint": return getOrCreateConfiguration(target).getEndpoint();
          case "healthcheckconsumerenabled":
          case "healthCheckConsumerEnabled": return target.isHealthCheckConsumerEnabled();
          case "healthcheckproducerenabled":
          case "healthCheckProducerEnabled": return target.isHealthCheckProducerEnabled();
          case "includebody":
          case "includeBody": return getOrCreateConfiguration(target).isIncludeBody();
          case "includefolders":
          case "includeFolders": return getOrCreateConfiguration(target).isIncludeFolders();
          case "includeusermetadata":
          case "includeUserMetadata": return getOrCreateConfiguration(target).isIncludeUserMetadata();
          case "includeversions":
          case "includeVersions": return getOrCreateConfiguration(target).isIncludeVersions();
          case "keyname":
          case "keyName": return getOrCreateConfiguration(target).getKeyName();
          case "lazystartproducer":
          case "lazyStartProducer": return target.isLazyStartProducer();
          case "length": return getOrCreateConfiguration(target).getLength();
          case "matchetag":
          case "matchETag": return getOrCreateConfiguration(target).getMatchETag();
          case "maxconnections":
          case "maxConnections": return getOrCreateConfiguration(target).getMaxConnections();
          case "maxmessagesperpoll":
          case "maxMessagesPerPoll": return getOrCreateConfiguration(target).getMaxMessagesPerPoll();
          case "minioclient":
          case "minioClient": return getOrCreateConfiguration(target).getMinioClient();
          case "modifiedsince":
          case "modifiedSince": return getOrCreateConfiguration(target).getModifiedSince();
          case "moveafterread":
          case "moveAfterRead": return getOrCreateConfiguration(target).isMoveAfterRead();
          case "notmatchetag":
          case "notMatchETag": return getOrCreateConfiguration(target).getNotMatchETag();
          case "objectlock":
          case "objectLock": return getOrCreateConfiguration(target).isObjectLock();
          case "objectname":
          case "objectName": return getOrCreateConfiguration(target).getObjectName();
          case "offset": return getOrCreateConfiguration(target).getOffset();
          case "operation": return getOrCreateConfiguration(target).getOperation();
          case "pojorequest":
          case "pojoRequest": return getOrCreateConfiguration(target).isPojoRequest();
          case "policy": return getOrCreateConfiguration(target).getPolicy();
          case "prefix": return getOrCreateConfiguration(target).getPrefix();
          case "proxyport":
          case "proxyPort": return getOrCreateConfiguration(target).getProxyPort();
          case "recursive": return getOrCreateConfiguration(target).isRecursive();
          case "region": return getOrCreateConfiguration(target).getRegion();
          case "secretkey":
          case "secretKey": return getOrCreateConfiguration(target).getSecretKey();
          case "secure": return getOrCreateConfiguration(target).isSecure();
          case "serversideencryption":
          case "serverSideEncryption": return getOrCreateConfiguration(target).getServerSideEncryption();
          case "serversideencryptioncustomerkey":
          case "serverSideEncryptionCustomerKey": return getOrCreateConfiguration(target).getServerSideEncryptionCustomerKey();
          case "startafter":
          case "startAfter": return getOrCreateConfiguration(target).getStartAfter();
          case "storageclass":
          case "storageClass": return getOrCreateConfiguration(target).getStorageClass();
          case "unmodifiedsince":
          case "unModifiedSince": return getOrCreateConfiguration(target).getUnModifiedSince();
          case "useversion1":
          case "useVersion1": return getOrCreateConfiguration(target).isUseVersion1();
          case "versionid":
          case "versionId": return getOrCreateConfiguration(target).getVersionId();
          default: return null;
          }
      }
  }
  
  