content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.component.jacksonxml;
  
  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.PackageDataFormatMojo")
  @SuppressWarnings("unchecked")
  public class JacksonXMLDataFormatConfigurer extends org.apache.camel.support.component.PropertyConfigurerSupport implements GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter {
  
      private static final Map<String, Object> ALL_OPTIONS;
      static {
          Map<String, Object> map = new CaseInsensitiveMap();
          map.put("AllowJmsType", boolean.class);
          map.put("AllowUnmarshallType", boolean.class);
          map.put("CollectionType", java.lang.Class.class);
          map.put("ContentTypeHeader", boolean.class);
          map.put("DisableFeatures", java.lang.String.class);
          map.put("EnableFeatures", java.lang.String.class);
          map.put("EnableJaxbAnnotationModule", boolean.class);
          map.put("Include", java.lang.String.class);
          map.put("JsonView", java.lang.Class.class);
          map.put("MaxStringLength", int.class);
          map.put("ModuleClassNames", java.lang.String.class);
          map.put("ModuleRefs", java.lang.String.class);
          map.put("PrettyPrint", boolean.class);
          map.put("Timezone", java.util.TimeZone.class);
          map.put("UnmarshalType", java.lang.Class.class);
          map.put("UseList", boolean.class);
          map.put("XmlMapper", com.fasterxml.jackson.dataformat.xml.XmlMapper.class);
          ALL_OPTIONS = map;
      }
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          JacksonXMLDataFormat target = (JacksonXMLDataFormat) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowjmstype":
          case "allowJmsType": target.setAllowJmsType(property(camelContext, boolean.class, value)); return true;
          case "allowunmarshalltype":
          case "allowUnmarshallType": target.setAllowUnmarshallType(property(camelContext, boolean.class, value)); return true;
          case "collectiontype":
          case "collectionType": target.setCollectionType(property(camelContext, java.lang.Class.class, value)); return true;
          case "contenttypeheader":
          case "contentTypeHeader": target.setContentTypeHeader(property(camelContext, boolean.class, value)); return true;
          case "disablefeatures":
          case "disableFeatures": target.setDisableFeatures(property(camelContext, java.lang.String.class, value)); return true;
          case "enablefeatures":
          case "enableFeatures": target.setEnableFeatures(property(camelContext, java.lang.String.class, value)); return true;
          case "enablejaxbannotationmodule":
          case "enableJaxbAnnotationModule": target.setEnableJaxbAnnotationModule(property(camelContext, boolean.class, value)); return true;
          case "include": target.setInclude(property(camelContext, java.lang.String.class, value)); return true;
          case "jsonview":
          case "jsonView": target.setJsonView(property(camelContext, java.lang.Class.class, value)); return true;
          case "maxstringlength":
          case "maxStringLength": target.setMaxStringLength(property(camelContext, int.class, value)); return true;
          case "moduleclassnames":
          case "moduleClassNames": target.setModuleClassNames(property(camelContext, java.lang.String.class, value)); return true;
          case "modulerefs":
          case "moduleRefs": target.setModuleRefs(property(camelContext, java.lang.String.class, value)); return true;
          case "prettyprint":
          case "prettyPrint": target.setPrettyPrint(property(camelContext, boolean.class, value)); return true;
          case "timezone": target.setTimezone(property(camelContext, java.util.TimeZone.class, value)); return true;
          case "unmarshaltype":
          case "unmarshalType": target.setUnmarshalType(property(camelContext, java.lang.Class.class, value)); return true;
          case "uselist":
          case "useList": target.setUseList(property(camelContext, boolean.class, value)); return true;
          case "xmlmapper":
          case "xmlMapper": target.setXmlMapper(property(camelContext, com.fasterxml.jackson.dataformat.xml.XmlMapper.class, value)); return true;
          default: return false;
          }
      }
  
      @Override
      public Map<String, Object> getAllOptions(Object target) {
          return ALL_OPTIONS;
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowjmstype":
          case "allowJmsType": return boolean.class;
          case "allowunmarshalltype":
          case "allowUnmarshallType": return boolean.class;
          case "collectiontype":
          case "collectionType": return java.lang.Class.class;
          case "contenttypeheader":
          case "contentTypeHeader": return boolean.class;
          case "disablefeatures":
          case "disableFeatures": return java.lang.String.class;
          case "enablefeatures":
          case "enableFeatures": return java.lang.String.class;
          case "enablejaxbannotationmodule":
          case "enableJaxbAnnotationModule": return boolean.class;
          case "include": return java.lang.String.class;
          case "jsonview":
          case "jsonView": return java.lang.Class.class;
          case "maxstringlength":
          case "maxStringLength": return int.class;
          case "moduleclassnames":
          case "moduleClassNames": return java.lang.String.class;
          case "modulerefs":
          case "moduleRefs": return java.lang.String.class;
          case "prettyprint":
          case "prettyPrint": return boolean.class;
          case "timezone": return java.util.TimeZone.class;
          case "unmarshaltype":
          case "unmarshalType": return java.lang.Class.class;
          case "uselist":
          case "useList": return boolean.class;
          case "xmlmapper":
          case "xmlMapper": return com.fasterxml.jackson.dataformat.xml.XmlMapper.class;
          default: return null;
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          JacksonXMLDataFormat target = (JacksonXMLDataFormat) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "allowjmstype":
          case "allowJmsType": return target.isAllowJmsType();
          case "allowunmarshalltype":
          case "allowUnmarshallType": return target.isAllowUnmarshallType();
          case "collectiontype":
          case "collectionType": return target.getCollectionType();
          case "contenttypeheader":
          case "contentTypeHeader": return target.isContentTypeHeader();
          case "disablefeatures":
          case "disableFeatures": return target.getDisableFeatures();
          case "enablefeatures":
          case "enableFeatures": return target.getEnableFeatures();
          case "enablejaxbannotationmodule":
          case "enableJaxbAnnotationModule": return target.isEnableJaxbAnnotationModule();
          case "include": return target.getInclude();
          case "jsonview":
          case "jsonView": return target.getJsonView();
          case "maxstringlength":
          case "maxStringLength": return target.getMaxStringLength();
          case "moduleclassnames":
          case "moduleClassNames": return target.getModuleClassNames();
          case "modulerefs":
          case "moduleRefs": return target.getModuleRefs();
          case "prettyprint":
          case "prettyPrint": return target.isPrettyPrint();
          case "timezone": return target.getTimezone();
          case "unmarshaltype":
          case "unmarshalType": return target.getUnmarshalType();
          case "uselist":
          case "useList": return target.isUseList();
          case "xmlmapper":
          case "xmlMapper": return target.getXmlMapper();
          default: return null;
          }
      }
  }
  
  