com.manywho.sdk.services.providers.ObjectMapperProvider Maven / Gradle / Ivy
package com.manywho.sdk.services.providers;
import com.fasterxml.jackson.databind.*;
import com.fasterxml.jackson.datatype.joda.JodaModule;
import org.glassfish.hk2.api.Factory;
import javax.ws.rs.ext.ContextResolver;
import javax.ws.rs.ext.Provider;
import java.text.SimpleDateFormat;
@Provider
public class ObjectMapperProvider implements ContextResolver, Factory {
private final ObjectMapper defaultObjectMapper;
public ObjectMapperProvider() {
defaultObjectMapper = getObjectMapper();
}
@Override
public ObjectMapper getContext(Class> type) {
return defaultObjectMapper;
}
public static ObjectMapper getObjectMapper() {
return new ObjectMapper()
.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true)
.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES)
.disable(DeserializationFeature.FAIL_ON_IGNORED_PROPERTIES)
.enable(DeserializationFeature.READ_ENUMS_USING_TO_STRING)
.enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING)
.registerModule(new JodaModule())
.setDateFormat(new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"));
}
@Override
public ObjectMapper provide() {
return getObjectMapper();
}
@Override
public void dispose(ObjectMapper objectMapper) {
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy