content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.tahu;
  
  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 TahuHostComponentConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      private org.apache.camel.component.tahu.TahuConfiguration getOrCreateConfiguration(TahuHostComponent target) {
          if (target.getConfiguration() == null) {
              target.setConfiguration(new org.apache.camel.component.tahu.TahuConfiguration());
          }
          return target.getConfiguration();
      }
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          TahuHostComponent target = (TahuHostComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          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 "checkclientidlength":
          case "checkClientIdLength": getOrCreateConfiguration(target).setCheckClientIdLength(property(camelContext, boolean.class, value)); return true;
          case "clientid":
          case "clientId": getOrCreateConfiguration(target).setClientId(property(camelContext, java.lang.String.class, value)); return true;
          case "configuration": target.setConfiguration(property(camelContext, org.apache.camel.component.tahu.TahuConfiguration.class, value)); return true;
          case "keepalivetimeout":
          case "keepAliveTimeout": getOrCreateConfiguration(target).setKeepAliveTimeout(property(camelContext, int.class, value)); return true;
          case "password": getOrCreateConfiguration(target).setPassword(property(camelContext, java.lang.String.class, value)); return true;
          case "rebirthdebouncedelay":
          case "rebirthDebounceDelay": getOrCreateConfiguration(target).setRebirthDebounceDelay(property(camelContext, long.class, value)); return true;
          case "servers": getOrCreateConfiguration(target).setServers(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 "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": target.setUseGlobalSslContextParameters(property(camelContext, boolean.class, value)); return true;
          case "username": getOrCreateConfiguration(target).setUsername(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 "autowiredenabled":
          case "autowiredEnabled": return boolean.class;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "checkclientidlength":
          case "checkClientIdLength": return boolean.class;
          case "clientid":
          case "clientId": return java.lang.String.class;
          case "configuration": return org.apache.camel.component.tahu.TahuConfiguration.class;
          case "keepalivetimeout":
          case "keepAliveTimeout": return int.class;
          case "password": return java.lang.String.class;
          case "rebirthdebouncedelay":
          case "rebirthDebounceDelay": return long.class;
          case "servers": return java.lang.String.class;
          case "sslcontextparameters":
          case "sslContextParameters": return org.apache.camel.support.jsse.SSLContextParameters.class;
          case "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": return boolean.class;
          case "username": return java.lang.String.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          TahuHostComponent target = (TahuHostComponent) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "autowiredenabled":
          case "autowiredEnabled": return target.isAutowiredEnabled();
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "checkclientidlength":
          case "checkClientIdLength": return getOrCreateConfiguration(target).isCheckClientIdLength();
          case "clientid":
          case "clientId": return getOrCreateConfiguration(target).getClientId();
          case "configuration": return target.getConfiguration();
          case "keepalivetimeout":
          case "keepAliveTimeout": return getOrCreateConfiguration(target).getKeepAliveTimeout();
          case "password": return getOrCreateConfiguration(target).getPassword();
          case "rebirthdebouncedelay":
          case "rebirthDebounceDelay": return getOrCreateConfiguration(target).getRebirthDebounceDelay();
          case "servers": return getOrCreateConfiguration(target).getServers();
          case "sslcontextparameters":
          case "sslContextParameters": return getOrCreateConfiguration(target).getSslContextParameters();
          case "useglobalsslcontextparameters":
          case "useGlobalSslContextParameters": return target.isUseGlobalSslContextParameters();
          case "username": return getOrCreateConfiguration(target).getUsername();
          default: return null;
          }
      }
  }
  
  