content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.milo.client;
  
  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 MiloClientEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          MiloClientEndpoint target = (MiloClientEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowedsecuritypolicies":
          case "allowedSecurityPolicies": target.getConfiguration().setAllowedSecurityPolicies(property(camelContext, java.lang.String.class, value)); return true;
          case "applicationname":
          case "applicationName": target.getConfiguration().setApplicationName(property(camelContext, java.lang.String.class, value)); return true;
          case "applicationuri":
          case "applicationUri": target.getConfiguration().setApplicationUri(property(camelContext, java.lang.String.class, value)); return true;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
          case "channellifetime":
          case "channelLifetime": target.getConfiguration().setChannelLifetime(property(camelContext, java.lang.Long.class, value)); return true;
          case "clientid":
          case "clientId": target.getConfiguration().setClientId(property(camelContext, java.lang.String.class, value)); return true;
          case "datachangefilterdeadbandtype":
          case "dataChangeFilterDeadbandType": target.getMonitorFilterConfiguration().setDataChangeFilterDeadbandType(property(camelContext, org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.UInteger.class, value)); return true;
          case "datachangefilterdeadbandvalue":
          case "dataChangeFilterDeadbandValue": target.getMonitorFilterConfiguration().setDataChangeFilterDeadbandValue(property(camelContext, java.lang.Double.class, value)); return true;
          case "datachangefiltertrigger":
          case "dataChangeFilterTrigger": target.getMonitorFilterConfiguration().setDataChangeFilterTrigger(property(camelContext, org.eclipse.milo.opcua.stack.core.types.enumerated.DataChangeTrigger.class, value)); return true;
          case "defaultawaitwrites":
          case "defaultAwaitWrites": target.setDefaultAwaitWrites(property(camelContext, boolean.class, value)); return true;
          case "discoveryendpointsuffix":
          case "discoveryEndpointSuffix": target.getConfiguration().setDiscoveryEndpointSuffix(property(camelContext, java.lang.String.class, value)); return true;
          case "discoveryendpointuri":
          case "discoveryEndpointUri": target.getConfiguration().setDiscoveryEndpointUri(property(camelContext, java.lang.String.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 "keyalias":
          case "keyAlias": target.getConfiguration().setKeyAlias(property(camelContext, java.lang.String.class, value)); return true;
          case "keypassword":
          case "keyPassword": target.getConfiguration().setKeyPassword(property(camelContext, java.lang.String.class, value)); return true;
          case "keystorepassword":
          case "keyStorePassword": target.getConfiguration().setKeyStorePassword(property(camelContext, java.lang.String.class, value)); return true;
          case "keystoretype":
          case "keyStoreType": target.getConfiguration().setKeyStoreType(property(camelContext, java.lang.String.class, value)); return true;
          case "keystoreurl":
          case "keyStoreUrl": target.getConfiguration().setKeyStoreUrl(property(camelContext, java.lang.String.class, value)); return true;
          case "lazystartproducer":
          case "lazyStartProducer": target.setLazyStartProducer(property(camelContext, boolean.class, value)); return true;
          case "maxpendingpublishrequests":
          case "maxPendingPublishRequests": target.getConfiguration().setMaxPendingPublishRequests(property(camelContext, java.lang.Long.class, value)); return true;
          case "maxresponsemessagesize":
          case "maxResponseMessageSize": target.getConfiguration().setMaxResponseMessageSize(property(camelContext, java.lang.Long.class, value)); return true;
          case "method": target.setMethod(property(camelContext, java.lang.String.class, value)); return true;
          case "monitorfiltertype":
          case "monitorFilterType": target.getMonitorFilterConfiguration().setMonitorFilterType(property(camelContext, org.apache.camel.component.milo.client.MonitorFilterType.class, value)); return true;
          case "node": target.setNode(property(camelContext, java.lang.String.class, value)); return true;
          case "omitnullvalues":
          case "omitNullValues": target.setOmitNullValues(property(camelContext, boolean.class, value)); return true;
          case "overridehost":
          case "overrideHost": target.getConfiguration().setOverrideHost(property(camelContext, boolean.class, value)); return true;
          case "producturi":
          case "productUri": target.getConfiguration().setProductUri(property(camelContext, java.lang.String.class, value)); return true;
          case "requesttimeout":
          case "requestTimeout": target.getConfiguration().setRequestTimeout(property(camelContext, java.lang.Long.class, value)); return true;
          case "requestedpublishinginterval":
          case "requestedPublishingInterval": target.getConfiguration().setRequestedPublishingInterval(property(camelContext, java.lang.Double.class, value)); return true;
          case "samplinginterval":
          case "samplingInterval": target.setSamplingInterval(property(camelContext, java.lang.Double.class, value)); return true;
          case "sessionname":
          case "sessionName": target.getConfiguration().setSessionName(property(camelContext, java.lang.String.class, value)); return true;
          case "sessiontimeout":
          case "sessionTimeout": target.getConfiguration().setSessionTimeout(property(camelContext, java.lang.Long.class, value)); return true;
          default: return false;
          }
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowedsecuritypolicies":
          case "allowedSecurityPolicies": return java.lang.String.class;
          case "applicationname":
          case "applicationName": return java.lang.String.class;
          case "applicationuri":
          case "applicationUri": return java.lang.String.class;
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "channellifetime":
          case "channelLifetime": return java.lang.Long.class;
          case "clientid":
          case "clientId": return java.lang.String.class;
          case "datachangefilterdeadbandtype":
          case "dataChangeFilterDeadbandType": return org.eclipse.milo.opcua.stack.core.types.builtin.unsigned.UInteger.class;
          case "datachangefilterdeadbandvalue":
          case "dataChangeFilterDeadbandValue": return java.lang.Double.class;
          case "datachangefiltertrigger":
          case "dataChangeFilterTrigger": return org.eclipse.milo.opcua.stack.core.types.enumerated.DataChangeTrigger.class;
          case "defaultawaitwrites":
          case "defaultAwaitWrites": return boolean.class;
          case "discoveryendpointsuffix":
          case "discoveryEndpointSuffix": return java.lang.String.class;
          case "discoveryendpointuri":
          case "discoveryEndpointUri": return java.lang.String.class;
          case "exceptionhandler":
          case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
          case "exchangepattern":
          case "exchangePattern": return org.apache.camel.ExchangePattern.class;
          case "keyalias":
          case "keyAlias": return java.lang.String.class;
          case "keypassword":
          case "keyPassword": return java.lang.String.class;
          case "keystorepassword":
          case "keyStorePassword": return java.lang.String.class;
          case "keystoretype":
          case "keyStoreType": return java.lang.String.class;
          case "keystoreurl":
          case "keyStoreUrl": return java.lang.String.class;
          case "lazystartproducer":
          case "lazyStartProducer": return boolean.class;
          case "maxpendingpublishrequests":
          case "maxPendingPublishRequests": return java.lang.Long.class;
          case "maxresponsemessagesize":
          case "maxResponseMessageSize": return java.lang.Long.class;
          case "method": return java.lang.String.class;
          case "monitorfiltertype":
          case "monitorFilterType": return org.apache.camel.component.milo.client.MonitorFilterType.class;
          case "node": return java.lang.String.class;
          case "omitnullvalues":
          case "omitNullValues": return boolean.class;
          case "overridehost":
          case "overrideHost": return boolean.class;
          case "producturi":
          case "productUri": return java.lang.String.class;
          case "requesttimeout":
          case "requestTimeout": return java.lang.Long.class;
          case "requestedpublishinginterval":
          case "requestedPublishingInterval": return java.lang.Double.class;
          case "samplinginterval":
          case "samplingInterval": return java.lang.Double.class;
          case "sessionname":
          case "sessionName": return java.lang.String.class;
          case "sessiontimeout":
          case "sessionTimeout": return java.lang.Long.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          MiloClientEndpoint target = (MiloClientEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowedsecuritypolicies":
          case "allowedSecurityPolicies": return target.getConfiguration().getAllowedSecurityPolicies();
          case "applicationname":
          case "applicationName": return target.getConfiguration().getApplicationName();
          case "applicationuri":
          case "applicationUri": return target.getConfiguration().getApplicationUri();
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "channellifetime":
          case "channelLifetime": return target.getConfiguration().getChannelLifetime();
          case "clientid":
          case "clientId": return target.getConfiguration().getClientId();
          case "datachangefilterdeadbandtype":
          case "dataChangeFilterDeadbandType": return target.getMonitorFilterConfiguration().getDataChangeFilterDeadbandType();
          case "datachangefilterdeadbandvalue":
          case "dataChangeFilterDeadbandValue": return target.getMonitorFilterConfiguration().getDataChangeFilterDeadbandValue();
          case "datachangefiltertrigger":
          case "dataChangeFilterTrigger": return target.getMonitorFilterConfiguration().getDataChangeFilterTrigger();
          case "defaultawaitwrites":
          case "defaultAwaitWrites": return target.isDefaultAwaitWrites();
          case "discoveryendpointsuffix":
          case "discoveryEndpointSuffix": return target.getConfiguration().getDiscoveryEndpointSuffix();
          case "discoveryendpointuri":
          case "discoveryEndpointUri": return target.getConfiguration().getDiscoveryEndpointUri();
          case "exceptionhandler":
          case "exceptionHandler": return target.getExceptionHandler();
          case "exchangepattern":
          case "exchangePattern": return target.getExchangePattern();
          case "keyalias":
          case "keyAlias": return target.getConfiguration().getKeyAlias();
          case "keypassword":
          case "keyPassword": return target.getConfiguration().getKeyPassword();
          case "keystorepassword":
          case "keyStorePassword": return target.getConfiguration().getKeyStorePassword();
          case "keystoretype":
          case "keyStoreType": return target.getConfiguration().getKeyStoreType();
          case "keystoreurl":
          case "keyStoreUrl": return target.getConfiguration().getKeyStoreUrl();
          case "lazystartproducer":
          case "lazyStartProducer": return target.isLazyStartProducer();
          case "maxpendingpublishrequests":
          case "maxPendingPublishRequests": return target.getConfiguration().getMaxPendingPublishRequests();
          case "maxresponsemessagesize":
          case "maxResponseMessageSize": return target.getConfiguration().getMaxResponseMessageSize();
          case "method": return target.getMethod();
          case "monitorfiltertype":
          case "monitorFilterType": return target.getMonitorFilterConfiguration().getMonitorFilterType();
          case "node": return target.getNode();
          case "omitnullvalues":
          case "omitNullValues": return target.isOmitNullValues();
          case "overridehost":
          case "overrideHost": return target.getConfiguration().isOverrideHost();
          case "producturi":
          case "productUri": return target.getConfiguration().getProductUri();
          case "requesttimeout":
          case "requestTimeout": return target.getConfiguration().getRequestTimeout();
          case "requestedpublishinginterval":
          case "requestedPublishingInterval": return target.getConfiguration().getRequestedPublishingInterval();
          case "samplinginterval":
          case "samplingInterval": return target.getSamplingInterval();
          case "sessionname":
          case "sessionName": return target.getConfiguration().getSessionName();
          case "sessiontimeout":
          case "sessionTimeout": return target.getConfiguration().getSessionTimeout();
          default: return null;
          }
      }
  }
  
  