All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.soffa.foundation.commons.Mappers Maven / Gradle / Ivy

package dev.soffa.foundation.commons;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
import org.json.JSONException;
import org.json.JSONObject;

@SuppressWarnings("PMD.ClassNamingConventions")
public final class Mappers {

    public static final Mapper JSON_FULLACCESS_SNAKE = new JacksonMapper(
        ObjectMapperFactory.newJsonMapper(true, new PropertyNamingStrategies.SnakeCaseStrategy())
    );

    public static final Mapper JSON_SNAKE = new JacksonMapper(
        ObjectMapperFactory.newJsonMapper(false, new PropertyNamingStrategies.SnakeCaseStrategy())
    );

    public static final Mapper JSON_DEFAULT = JSON_SNAKE;

    public static final Mapper JSON_FULLACCESS = new JacksonMapper(
        ObjectMapperFactory.newJsonMapper(true)
    );

    public static final Mapper JSON_CAMEL = new JacksonMapper(
        ObjectMapperFactory.newJsonMapper(false, new PropertyNamingStrategies.LowerCamelCaseStrategy())
    );

    public static final Mapper YAML = new JacksonMapper(
        new YAMLMapper()
    );

    public static final Mapper YAML_FULLACCESS = new JacksonMapper(
        new YAMLMapper().setAnnotationIntrospector(new ObjectMapperFactory.IgnoreAnnotations())
    );

    private Mappers() {
    }

    public static boolean isJson(String input) {
        try {
            new JSONObject(input);
            return true;
        } catch (JSONException e) {
            return false;
        }
    }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy