content: /* Generated by camel build tools - do NOT edit this file! */
  package org.apache.camel.dataformat.soap;
  
  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.converter.jaxb.JaxbDataFormatConfigurer;
  
  /**
   * Generated by camel build tools - do NOT edit this file!
   */
  @Generated("org.apache.camel.maven.packaging.PackageDataFormatMojo")
  @SuppressWarnings("unchecked")
  public class SoapDataFormatConfigurer extends org.apache.camel.converter.jaxb.JaxbDataFormatConfigurer implements GeneratedPropertyConfigurer, ExtendedPropertyConfigurerGetter {
  
      @Override
      public boolean configure(CamelContext camelContext, Object obj, String name, Object value, boolean ignoreCase) {
          SoapDataFormat target = (SoapDataFormat) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "elementnamestrategy":
          case "elementNameStrategy": target.setElementNameStrategy(property(camelContext, org.apache.camel.dataformat.soap.name.ElementNameStrategy.class, value)); return true;
          case "ignoreunmarshalledheaders":
          case "ignoreUnmarshalledHeaders": target.setIgnoreUnmarshalledHeaders(property(camelContext, boolean.class, value)); return true;
          case "version": target.setVersion(property(camelContext, java.lang.String.class, value)); return true;
          default: return super.configure(camelContext, obj, name, value, ignoreCase);
          }
      }
  
      @Override
      public Map<String, Object> getAllOptions(Object target) {
          Map<String, Object> answer = new java.util.LinkedHashMap<>(super.getAllOptions(target));
          answer.put("elementNameStrategy", org.apache.camel.dataformat.soap.name.ElementNameStrategy.class);
          answer.put("ignoreUnmarshalledHeaders", boolean.class);
          answer.put("version", java.lang.String.class);
          return answer;
      }
  
      @Override
      public Class<?> getOptionType(String name, boolean ignoreCase) {
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "elementnamestrategy":
          case "elementNameStrategy": return org.apache.camel.dataformat.soap.name.ElementNameStrategy.class;
          case "ignoreunmarshalledheaders":
          case "ignoreUnmarshalledHeaders": return boolean.class;
          case "version": return java.lang.String.class;
          default: return super.getOptionType(name, ignoreCase);
          }
      }
  
      @Override
      public Object getOptionValue(Object obj, String name, boolean ignoreCase) {
          SoapDataFormat target = (SoapDataFormat) obj;
          switch (ignoreCase ? name.toLowerCase() : name) {
          case "elementnamestrategy":
          case "elementNameStrategy": return target.getElementNameStrategy();
          case "ignoreunmarshalledheaders":
          case "ignoreUnmarshalledHeaders": return target.isIgnoreUnmarshalledHeaders();
          case "version": return target.getVersion();
          default: return super.getOptionValue(obj, name, ignoreCase);
          }
      }
  }
  
  