/** * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to * build a Smile data format {@link ObjectMapper} instance. * @since 5.0 */ public static Jackson2ObjectMapperBuilder smile() { return new Jackson2ObjectMapperBuilder().factory(new SmileFactoryInitializer().create()); }
/** * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to * build a CBOR data format {@link ObjectMapper} instance. * @since 5.0 */ public static Jackson2ObjectMapperBuilder cbor() { return new Jackson2ObjectMapperBuilder().factory(new CborFactoryInitializer().create()); }
/** * Obtain a {@link Jackson2ObjectMapperBuilder} instance in order to * build an {@link XmlMapper} instance. */ public static Jackson2ObjectMapperBuilder xml() { return new Jackson2ObjectMapperBuilder().createXmlMapper(true); }
/** * Set a custom inclusion strategy for serialization. * @see com.fasterxml.jackson.annotation.JsonInclude.Include */ public void setSerializationInclusion(JsonInclude.Include serializationInclusion) { this.builder.serializationInclusion(serializationInclusion); }
/** * If set to true and no custom {@link ObjectMapper} has been set, a {@link XmlMapper} * will be created using its default constructor. * @since 4.1 */ public void setCreateXmlMapper(boolean createXmlMapper) { this.builder.createXmlMapper(createXmlMapper); }
/** * Specify features to disable. * @see com.fasterxml.jackson.core.JsonParser.Feature * @see com.fasterxml.jackson.core.JsonGenerator.Feature * @see com.fasterxml.jackson.databind.SerializationFeature * @see com.fasterxml.jackson.databind.DeserializationFeature * @see com.fasterxml.jackson.databind.MapperFeature */ public void setFeaturesToDisable(Object... featuresToDisable) { this.builder.featuresToDisable(featuresToDisable); }
/** * Wrap the body in a {@link MappingJacksonValue} value container (for providing * additional serialization instructions) or simply cast it if already wrapped. */ protected MappingJacksonValue getOrCreateContainer(Object body) { return (body instanceof MappingJacksonValue ? (MappingJacksonValue) body : new MappingJacksonValue(body)); }
@Override protected Object readInternal(Class<?> clazz, HttpInputMessage inputMessage) throws IOException, HttpMessageNotReadableException { JavaType javaType = getJavaType(clazz, null); return readJavaType(javaType, inputMessage); }
/** * Shortcut for {@link MapperFeature#DEFAULT_VIEW_INCLUSION} option. * @since 4.1 */ public void setDefaultViewInclusion(boolean defaultViewInclusion) { this.builder.defaultViewInclusion(defaultViewInclusion); }
/** * Specify a {@link com.fasterxml.jackson.databind.PropertyNamingStrategy} to * configure the {@link ObjectMapper} with. * @since 4.0.2 */ public void setPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) { this.builder.propertyNamingStrategy(propertyNamingStrategy); }
/** * Configure custom serializers for the given types. * @see #setSerializers(JsonSerializer...) */ public void setSerializersByType(Map<Class<?>, JsonSerializer<?>> serializers) { this.builder.serializersByType(serializers); }
/** * Configure custom deserializers for the given types. */ public void setDeserializersByType(Map<Class<?>, JsonDeserializer<?>> deserializers) { this.builder.deserializersByType(deserializers); }
/** * Customize the construction of Jackson handlers * ({@link JsonSerializer}, {@link JsonDeserializer}, {@link KeyDeserializer}, * {@code TypeResolverBuilder} and {@code TypeIdResolver}). * @since 4.1.3 * @see Jackson2ObjectMapperFactoryBean#setApplicationContext(ApplicationContext) */ public void setHandlerInstantiator(HandlerInstantiator handlerInstantiator) { this.builder.handlerInstantiator(handlerInstantiator); }
/** * Define the {@link JsonFactory} to be used to create the {@link ObjectMapper} * instance. * @since 5.0 */ public void setFactory(JsonFactory factory) { this.builder.factory(factory); }
/** * Set the global filters to use in order to support {@link JsonFilter @JsonFilter} annotated POJO. * @since 4.2 * @see Jackson2ObjectMapperBuilder#filters(FilterProvider) */ public void setFilters(FilterProvider filters) { this.builder.filters(filters); }
/** * Set an {@link AnnotationIntrospector} for both serialization and deserialization. */ public void setAnnotationIntrospector(AnnotationIntrospector annotationIntrospector) { this.builder.annotationIntrospector(annotationIntrospector); }
@Override public Object deserializeKey(String key, DeserializationContext context) throws IOException { return this.capitalizer.capitalize(key); } }