content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.paho.mqtt5;
  
  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 PahoMqtt5EndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          PahoMqtt5Endpoint target = (PahoMqtt5Endpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "automaticreconnect":
          case "automaticReconnect": target.getConfiguration().setAutomaticReconnect(property(camelContext, boolean.class, value)); return true;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
          case "brokerurl":
          case "brokerUrl": target.getConfiguration().setBrokerUrl(property(camelContext, java.lang.String.class, value)); return true;
          case "cleanstart":
          case "cleanStart": target.getConfiguration().setCleanStart(property(camelContext, boolean.class, value)); return true;
          case "client": target.setClient(property(camelContext, org.eclipse.paho.mqttv5.client.MqttClient.class, value)); return true;
          case "clientid":
          case "clientId": target.getConfiguration().setClientId(property(camelContext, java.lang.String.class, value)); return true;
          case "connectiontimeout":
          case "connectionTimeout": target.getConfiguration().setConnectionTimeout(property(camelContext, int.class, value)); return true;
          case "customwebsocketheaders":
          case "customWebSocketHeaders": target.getConfiguration().setCustomWebSocketHeaders(property(camelContext, java.util.Map.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 "executorservicetimeout":
          case "executorServiceTimeout": target.getConfiguration().setExecutorServiceTimeout(property(camelContext, int.class, value)); return true;
          case "filepersistencedirectory":
          case "filePersistenceDirectory": target.getConfiguration().setFilePersistenceDirectory(property(camelContext, java.lang.String.class, value)); return true;
          case "httpshostnameverificationenabled":
          case "httpsHostnameVerificationEnabled": target.getConfiguration().setHttpsHostnameVerificationEnabled(property(camelContext, boolean.class, value)); return true;
          case "keepaliveinterval":
          case "keepAliveInterval": target.getConfiguration().setKeepAliveInterval(property(camelContext, int.class, value)); return true;
          case "lazystartproducer":
          case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
          case "manualacksenabled":
          case "manualAcksEnabled": target.getConfiguration().setManualAcksEnabled(property(camelContext, boolean.class, value)); return true;
          case "maxreconnectdelay":
          case "maxReconnectDelay": target.getConfiguration().setMaxReconnectDelay(property(camelContext, int.class, value)); return true;
          case "password": target.getConfiguration().setPassword(property(camelContext, java.lang.String.class, value)); return true;
          case "persistence": target.getConfiguration().setPersistence(property(camelContext, org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence.class, value)); return true;
          case "qos": target.getConfiguration().setQos(property(camelContext, int.class, value)); return true;
          case "receivemaximum":
          case "receiveMaximum": target.getConfiguration().setReceiveMaximum(property(camelContext, int.class, value)); return true;
          case "retained": target.getConfiguration().setRetained(property(camelContext, boolean.class, value)); return true;
          case "serveruris":
          case "serverURIs": target.getConfiguration().setServerURIs(property(camelContext, java.lang.String.class, value)); return true;
          case "sessionexpiryinterval":
          case "sessionExpiryInterval": target.getConfiguration().setSessionExpiryInterval(property(camelContext, long.class, value)); return true;
          case "socketfactory":
          case "socketFactory": target.getConfiguration().setSocketFactory(property(camelContext, javax.net.SocketFactory.class, value)); return true;
          case "sslclientprops":
          case "sslClientProps": target.getConfiguration().setSslClientProps(property(camelContext, java.util.Properties.class, value)); return true;
          case "sslhostnameverifier":
          case "sslHostnameVerifier": target.getConfiguration().setSslHostnameVerifier(property(camelContext, javax.net.ssl.HostnameVerifier.class, value)); return true;
          case "username":
          case "userName": target.getConfiguration().setUserName(property(camelContext, java.lang.String.class, value)); return true;
          case "willmqttproperties":
          case "willMqttProperties": target.getConfiguration().setWillMqttProperties(property(camelContext, org.eclipse.paho.mqttv5.common.packet.MqttProperties.class, value)); return true;
          case "willpayload":
          case "willPayload": target.getConfiguration().setWillPayload(property(camelContext, java.lang.String.class, value)); return true;
          case "willqos":
          case "willQos": target.getConfiguration().setWillQos(property(camelContext, int.class, value)); return true;
          case "willretained":
          case "willRetained": target.getConfiguration().setWillRetained(property(camelContext, boolean.class, value)); return true;
          case "willtopic":
          case "willTopic": target.getConfiguration().setWillTopic(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 "automaticreconnect":
          case "automaticReconnect": return boolean.class;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "brokerurl":
          case "brokerUrl": return java.lang.String.class;
          case "cleanstart":
          case "cleanStart": return boolean.class;
          case "client": return org.eclipse.paho.mqttv5.client.MqttClient.class;
          case "clientid":
          case "clientId": return java.lang.String.class;
          case "connectiontimeout":
          case "connectionTimeout": return int.class;
          case "customwebsocketheaders":
          case "customWebSocketHeaders": return java.util.Map.class;
          case "exceptionhandler":
          case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
          case "exchangepattern":
          case "exchangePattern": return org.apache.camel.ExchangePattern.class;
          case "executorservicetimeout":
          case "executorServiceTimeout": return int.class;
          case "filepersistencedirectory":
          case "filePersistenceDirectory": return java.lang.String.class;
          case "httpshostnameverificationenabled":
          case "httpsHostnameVerificationEnabled": return boolean.class;
          case "keepaliveinterval":
          case "keepAliveInterval": return int.class;
          case "lazystartproducer":
          case "lazyStartProducer": return boolean.class;
          case "manualacksenabled":
          case "manualAcksEnabled": return boolean.class;
          case "maxreconnectdelay":
          case "maxReconnectDelay": return int.class;
          case "password": return java.lang.String.class;
          case "persistence": return org.apache.camel.component.paho.mqtt5.PahoMqtt5Persistence.class;
          case "qos": return int.class;
          case "receivemaximum":
          case "receiveMaximum": return int.class;
          case "retained": return boolean.class;
          case "serveruris":
          case "serverURIs": return java.lang.String.class;
          case "sessionexpiryinterval":
          case "sessionExpiryInterval": return long.class;
          case "socketfactory":
          case "socketFactory": return javax.net.SocketFactory.class;
          case "sslclientprops":
          case "sslClientProps": return java.util.Properties.class;
          case "sslhostnameverifier":
          case "sslHostnameVerifier": return javax.net.ssl.HostnameVerifier.class;
          case "username":
          case "userName": return java.lang.String.class;
          case "willmqttproperties":
          case "willMqttProperties": return org.eclipse.paho.mqttv5.common.packet.MqttProperties.class;
          case "willpayload":
          case "willPayload": return java.lang.String.class;
          case "willqos":
          case "willQos": return int.class;
          case "willretained":
          case "willRetained": return boolean.class;
          case "willtopic":
          case "willTopic": return java.lang.String.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          PahoMqtt5Endpoint target = (PahoMqtt5Endpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "automaticreconnect":
          case "automaticReconnect": return target.getConfiguration().isAutomaticReconnect();
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "brokerurl":
          case "brokerUrl": return target.getConfiguration().getBrokerUrl();
          case "cleanstart":
          case "cleanStart": return target.getConfiguration().isCleanStart();
          case "client": return target.getClient();
          case "clientid":
          case "clientId": return target.getConfiguration().getClientId();
          case "connectiontimeout":
          case "connectionTimeout": return target.getConfiguration().getConnectionTimeout();
          case "customwebsocketheaders":
          case "customWebSocketHeaders": return target.getConfiguration().getCustomWebSocketHeaders();
          case "exceptionhandler":
          case "exceptionHandler": return target.getExceptionHandler();
          case "exchangepattern":
          case "exchangePattern": return target.getExchangePattern();
          case "executorservicetimeout":
          case "executorServiceTimeout": return target.getConfiguration().getExecutorServiceTimeout();
          case "filepersistencedirectory":
          case "filePersistenceDirectory": return target.getConfiguration().getFilePersistenceDirectory();
          case "httpshostnameverificationenabled":
          case "httpsHostnameVerificationEnabled": return target.getConfiguration().isHttpsHostnameVerificationEnabled();
          case "keepaliveinterval":
          case "keepAliveInterval": return target.getConfiguration().getKeepAliveInterval();
          case "lazystartproducer":
          case "lazyStartProducer": return target.isLazyStartProducer();
          case "manualacksenabled":
          case "manualAcksEnabled": return target.getConfiguration().isManualAcksEnabled();
          case "maxreconnectdelay":
          case "maxReconnectDelay": return target.getConfiguration().getMaxReconnectDelay();
          case "password": return target.getConfiguration().getPassword();
          case "persistence": return target.getConfiguration().getPersistence();
          case "qos": return target.getConfiguration().getQos();
          case "receivemaximum":
          case "receiveMaximum": return target.getConfiguration().getReceiveMaximum();
          case "retained": return target.getConfiguration().isRetained();
          case "serveruris":
          case "serverURIs": return target.getConfiguration().getServerURIs();
          case "sessionexpiryinterval":
          case "sessionExpiryInterval": return target.getConfiguration().getSessionExpiryInterval();
          case "socketfactory":
          case "socketFactory": return target.getConfiguration().getSocketFactory();
          case "sslclientprops":
          case "sslClientProps": return target.getConfiguration().getSslClientProps();
          case "sslhostnameverifier":
          case "sslHostnameVerifier": return target.getConfiguration().getSslHostnameVerifier();
          case "username":
          case "userName": return target.getConfiguration().getUserName();
          case "willmqttproperties":
          case "willMqttProperties": return target.getConfiguration().getWillMqttProperties();
          case "willpayload":
          case "willPayload": return target.getConfiguration().getWillPayload();
          case "willqos":
          case "willQos": return target.getConfiguration().getWillQos();
          case "willretained":
          case "willRetained": return target.getConfiguration().isWillRetained();
          case "willtopic":
          case "willTopic": return target.getConfiguration().getWillTopic();
          default: return null;
          }
      }
  
      @Override
      public Object getCollectionValueType(Object target, String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "customwebsocketheaders":
          case "customWebSocketHeaders": return java.lang.String.class;
          default: return null;
          }
      }
  }
  
  