
com.sap.cloud.servicesdk.prov.jacksonutil.JacksonMapper Maven / Gradle / Ivy
/*******************************************************************************
* (c) 201X SAP SE or an SAP affiliate company. All rights reserved.
******************************************************************************/
package com.sap.cloud.servicesdk.prov.jacksonutil;
import com.fasterxml.jackson.annotation.JsonAutoDetect.Visibility;
import com.fasterxml.jackson.annotation.JsonInclude.Include;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
public class JacksonMapper {
public static ObjectMapper getMapper( ){
ObjectMapper mapper = new ObjectMapper();
/*-- Ignore Null Values --*/
mapper.configure(SerializationFeature.WRITE_NULL_MAP_VALUES, false);
/*-- do not fail on empty beans --*/
mapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
/*-- First: hide all elements in the class ; make property,getter,setter hidden --*/
mapper.setVisibility(PropertyAccessor.ALL, Visibility.NONE);
/*-- Second: now only make the properties discoverable --*/
mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY);
mapper.setSerializationInclusion(Include.NON_NULL);
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.setPropertyNamingStrategy(new CustomPropertyNameingStrategy());
ExclusionAnnotationIntrospector annoinspector = new ExclusionAnnotationIntrospector();
mapper.setAnnotationIntrospector(annoinspector);
return mapper ;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy