// Path: src/main/java/com/github/therapi/jackson/enums/LowerCamelCaseEnumModule.java
// public class LowerCamelCaseEnumModule extends EnumRenamingModule {
//     @Override protected String getName(Enum<?> value) {
//         return CaseFormatHelper.toLowerCamel(value.name());
//     }
// }


import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
import com.github.therapi.jackson.enums.LowerCamelCaseEnumModule;
package com.github.therapi.jackson;


public class ObjectMappers {
    public static ObjectMapper newLenientObjectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.registerModule(new LowerCamelCaseEnumModule());
        mapper.registerModule(new ParameterNamesModule());

        mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
        mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
        mapper.configure(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, true);
        mapper.configure(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES, true);

// Path: src/main/java/com/github/therapi/jackson/enums/LowerCamelCaseEnumModule.java
// public class LowerCamelCaseEnumModule extends EnumRenamingModule {
//     @Override protected String getName(Enum<?> value) {
//         return CaseFormatHelper.toLowerCamel(value.name());
//     }
// }


// Path: src/main/java/com/github/therapi/jackson/ObjectMappers.java
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule;
import com.github.therapi.jackson.enums.LowerCamelCaseEnumModule;

package com.github.therapi.jackson;


public class ObjectMappers {
    public static ObjectMapper newLenientObjectMapper() {
        ObjectMapper mapper = new ObjectMapper();
        mapper.registerModule(new LowerCamelCaseEnumModule());
        mapper.registerModule(new ParameterNamesModule());

        mapper.configure(JsonParser.Feature.ALLOW_SINGLE_QUOTES, true);
        mapper.configure(JsonParser.Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
        mapper.configure(DeserializationFeature.ACCEPT_SINGLE_VALUE_AS_ARRAY, true);
        mapper.configure(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, true);
        mapper.configure(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES, true);

        return mapper;