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 TahuEdgeEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          TahuEdgeEndpoint target = (TahuEdgeEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "bdseqmanager":
          case "bdSeqManager": target.setBdSeqManager(property(camelContext, org.eclipse.tahu.message.BdSeqManager.class, value)); return true;
          case "bdseqnumpath":
          case "bdSeqNumPath": target.setBdSeqNumPath(property(camelContext, java.lang.String.class, value)); return true;
          case "checkclientidlength":
          case "checkClientIdLength": target.getConfiguration().setCheckClientIdLength(property(camelContext, boolean.class, value)); return true;
          case "clientid":
          case "clientId": target.getConfiguration().setClientId(property(camelContext, java.lang.String.class, value)); return true;
          case "deviceids":
          case "deviceIds": target.setDeviceIds(property(camelContext, java.lang.String.class, value)); return true;
          case "headerfilterstrategy":
          case "headerFilterStrategy": target.setHeaderFilterStrategy(property(camelContext, org.apache.camel.spi.HeaderFilterStrategy.class, value)); return true;
          case "keepalivetimeout":
          case "keepAliveTimeout": target.getConfiguration().setKeepAliveTimeout(property(camelContext, int.class, value)); return true;
          case "lazystartproducer":
          case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
          case "metricdatatypepayloadmap":
          case "metricDataTypePayloadMap": target.setMetricDataTypePayloadMap(property(camelContext, org.eclipse.tahu.message.model.SparkplugBPayloadMap.class, value)); return true;
          case "password": target.getConfiguration().setPassword(property(camelContext, java.lang.String.class, value)); return true;
          case "primaryhostid":
          case "primaryHostId": target.setPrimaryHostId(property(camelContext, java.lang.String.class, value)); return true;
          case "rebirthdebouncedelay":
          case "rebirthDebounceDelay": target.getConfiguration().setRebirthDebounceDelay(property(camelContext, long.class, value)); return true;
          case "servers": target.getConfiguration().setServers(property(camelContext, java.lang.String.class, value)); return true;
          case "sslcontextparameters":
          case "sslContextParameters": target.getConfiguration().setSslContextParameters(property(camelContext, org.apache.camel.support.jsse.SSLContextParameters.class, value)); return true;
          case "usealiases":
          case "useAliases": target.setUseAliases(property(camelContext, boolean.class, value)); return true;
          case "username": target.getConfiguration().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 "bdseqmanager":
          case "bdSeqManager": return org.eclipse.tahu.message.BdSeqManager.class;
          case "bdseqnumpath":
          case "bdSeqNumPath": return java.lang.String.class;
          case "checkclientidlength":
          case "checkClientIdLength": return boolean.class;
          case "clientid":
          case "clientId": return java.lang.String.class;
          case "deviceids":
          case "deviceIds": return java.lang.String.class;
          case "headerfilterstrategy":
          case "headerFilterStrategy": return org.apache.camel.spi.HeaderFilterStrategy.class;
          case "keepalivetimeout":
          case "keepAliveTimeout": return int.class;
          case "lazystartproducer":
          case "lazyStartProducer": return boolean.class;
          case "metricdatatypepayloadmap":
          case "metricDataTypePayloadMap": return org.eclipse.tahu.message.model.SparkplugBPayloadMap.class;
          case "password": return java.lang.String.class;
          case "primaryhostid":
          case "primaryHostId": 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 "usealiases":
          case "useAliases": return boolean.class;
          case "username": return java.lang.String.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          TahuEdgeEndpoint target = (TahuEdgeEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "bdseqmanager":
          case "bdSeqManager": return target.getBdSeqManager();
          case "bdseqnumpath":
          case "bdSeqNumPath": return target.getBdSeqNumPath();
          case "checkclientidlength":
          case "checkClientIdLength": return target.getConfiguration().isCheckClientIdLength();
          case "clientid":
          case "clientId": return target.getConfiguration().getClientId();
          case "deviceids":
          case "deviceIds": return target.getDeviceIds();
          case "headerfilterstrategy":
          case "headerFilterStrategy": return target.getHeaderFilterStrategy();
          case "keepalivetimeout":
          case "keepAliveTimeout": return target.getConfiguration().getKeepAliveTimeout();
          case "lazystartproducer":
          case "lazyStartProducer": return target.isLazyStartProducer();
          case "metricdatatypepayloadmap":
          case "metricDataTypePayloadMap": return target.getMetricDataTypePayloadMap();
          case "password": return target.getConfiguration().getPassword();
          case "primaryhostid":
          case "primaryHostId": return target.getPrimaryHostId();
          case "rebirthdebouncedelay":
          case "rebirthDebounceDelay": return target.getConfiguration().getRebirthDebounceDelay();
          case "servers": return target.getConfiguration().getServers();
          case "sslcontextparameters":
          case "sslContextParameters": return target.getConfiguration().getSslContextParameters();
          case "usealiases":
          case "useAliases": return target.isUseAliases();
          case "username": return target.getConfiguration().getUsername();
          default: return null;
          }
      }
  }
  
  