content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.timer;
  
  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 TimerEndpointConfigurer extends PropertyConfigurerSupport implements GeneratedPropertyConfigurer, PropertyConfigurerGetter {
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          TimerEndpoint target = (TimerEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": target.setBridgeErrorHandler(property(camelContext, boolean.class, value)); return true;
          case "daemon": target.setDaemon(property(camelContext, boolean.class, value)); return true;
          case "delay": target.setDelay(property(camelContext, java.time.Duration.class, value).toMillis()); 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 "fixedrate":
          case "fixedRate": target.setFixedRate(property(camelContext, boolean.class, value)); return true;
          case "includemetadata":
          case "includeMetadata": target.setIncludeMetadata(property(camelContext, boolean.class, value)); return true;
          case "pattern": target.setPattern(property(camelContext, java.lang.String.class, value)); return true;
          case "period": target.setPeriod(property(camelContext, java.time.Duration.class, value).toMillis()); return true;
          case "repeatcount":
          case "repeatCount": target.setRepeatCount(property(camelContext, long.class, value)); return true;
          case "runlogginglevel":
          case "runLoggingLevel": target.setRunLoggingLevel(property(camelContext, org.apache.camel.LoggingLevel.class, value)); return true;
          case "synchronous": target.setSynchronous(property(camelContext, boolean.class, value)); return true;
          case "time": target.setTime(property(camelContext, java.util.Date.class, value)); return true;
          case "timer": target.setTimer(property(camelContext, java.util.Timer.class, value)); return true;
          default: return false;
          }
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return boolean.class;
          case "daemon": return boolean.class;
          case "delay": return long.class;
          case "exceptionhandler":
          case "exceptionHandler": return org.apache.camel.spi.ExceptionHandler.class;
          case "exchangepattern":
          case "exchangePattern": return org.apache.camel.ExchangePattern.class;
          case "fixedrate":
          case "fixedRate": return boolean.class;
          case "includemetadata":
          case "includeMetadata": return boolean.class;
          case "pattern": return java.lang.String.class;
          case "period": return long.class;
          case "repeatcount":
          case "repeatCount": return long.class;
          case "runlogginglevel":
          case "runLoggingLevel": return org.apache.camel.LoggingLevel.class;
          case "synchronous": return boolean.class;
          case "time": return java.util.Date.class;
          case "timer": return java.util.Timer.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          TimerEndpoint target = (TimerEndpoint) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "bridgeerrorhandler":
          case "bridgeErrorHandler": return target.isBridgeErrorHandler();
          case "daemon": return target.isDaemon();
          case "delay": return target.getDelay();
          case "exceptionhandler":
          case "exceptionHandler": return target.getExceptionHandler();
          case "exchangepattern":
          case "exchangePattern": return target.getExchangePattern();
          case "fixedrate":
          case "fixedRate": return target.isFixedRate();
          case "includemetadata":
          case "includeMetadata": return target.isIncludeMetadata();
          case "pattern": return target.getPattern();
          case "period": return target.getPeriod();
          case "repeatcount":
          case "repeatCount": return target.getRepeatCount();
          case "runlogginglevel":
          case "runLoggingLevel": return target.getRunLoggingLevel();
          case "synchronous": return target.isSynchronous();
          case "time": return target.getTime();
          case "timer": return target.getTimer();
          default: return null;
          }
      }
  }
  
  