java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.BeanDeserializerModifier

public abstract class BeanDeserializerModifier extends Object
Abstract class that defines API for objects that can be registered to participate in constructing JsonDeserializer instances (via DeserializerFactory). This is typically done by modules that want alter some aspects of deserialization process; and is preferable to sub-classing of BeanDeserializerFactory.

Note that Jackson 2.2 adds more methods for customization; with earlier versions only BeanDeserializer instances could be modified, but with 2.2 all types of deserializers can be changed.

Sequence in which callback methods are called for BeanDeserializer is:

  1. updateProperties(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, java.util.List<edu.internet2.middleware.grouperClientExt.com.fasterxml.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(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder) is called once all initial pieces for building deserializer have been collected
  3. modifyDeserializer(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.DeserializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonDeserializer<?>) 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.