Class ValueDeserializerModifier

java.lang.Object
tools.jackson.databind.deser.ValueDeserializerModifier
All Implemented Interfaces:
Serializable

public abstract class ValueDeserializerModifier extends Object implements Serializable
Abstract class that defines API for objects that can be registered (via ObjectMapper configuration process, using MapperBuilder) to participate in constructing ValueDeserializer instances (including but not limited to BeanDeserializers). This is typically done by modules that want alter some aspects of the typical serialization process.

Sequence in which callback methods are called for a BeanDeserializer is:

  1. updateProperties(tools.jackson.databind.DeserializationConfig, tools.jackson.databind.BeanDescription.Supplier, java.util.List<tools.jackson.databind.introspect.BeanPropertyDefinition>) is called once all property definitions are collected, and initial filtering (by ignorable type and explicit ignoral-by-bean) has been performed.
  2. updateBuilder(tools.jackson.databind.DeserializationConfig, tools.jackson.databind.BeanDescription.Supplier, tools.jackson.databind.deser.BeanDeserializerBuilder) is called once all initial pieces for building deserializer have been collected
  3. modifyDeserializer(tools.jackson.databind.DeserializationConfig, tools.jackson.databind.BeanDescription.Supplier, tools.jackson.databind.ValueDeserializer<?>) is called after deserializer has been built by BeanDeserializerBuilder but before it is returned to be used

For other types of deserializers, methods called depend on type of values for which deserializer is being constructed; and only a single method is called since the process does not involve builders (unlike that of BeanDeserializer.

Default method implementations are "no-op"s, meaning that methods are implemented but have no effect; this is mostly so that new methods can be added in later versions.

NOTE: In Jackson 2.x was named BeanDeserializerModifier

See Also: