public abstract class BeanDeserializerModifier extends Object
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:
  
updateProperties(com.fasterxml.jackson.databind.DeserializationConfig, com.fasterxml.jackson.databind.BeanDescription, java.util.List<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.
  updateBuilder(com.fasterxml.jackson.databind.DeserializationConfig, com.fasterxml.jackson.databind.BeanDescription, com.fasterxml.jackson.databind.deser.BeanDeserializerBuilder) is called once all initial pieces for building deserializer
    have been collected
   modifyDeserializer(com.fasterxml.jackson.databind.DeserializationConfig, com.fasterxml.jackson.databind.BeanDescription, 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.
| Constructor and Description | 
|---|
| BeanDeserializerModifier() | 
| Modifier and Type | Method and Description | 
|---|---|
| JsonDeserializer<?> | modifyArrayDeserializer(DeserializationConfig config,
                       ArrayType valueType,
                       BeanDescription beanDesc,
                       JsonDeserializer<?> deserializer)Method called by  DeserializerFactoryafter it has constructed the
 standard deserializer for givenArrayTypeto make it possible to either replace or augment this deserializer with
 additional functionality. | 
| JsonDeserializer<?> | modifyCollectionDeserializer(DeserializationConfig config,
                            CollectionType type,
                            BeanDescription beanDesc,
                            JsonDeserializer<?> deserializer) | 
| JsonDeserializer<?> | modifyCollectionLikeDeserializer(DeserializationConfig config,
                                CollectionLikeType type,
                                BeanDescription beanDesc,
                                JsonDeserializer<?> deserializer) | 
| JsonDeserializer<?> | modifyDeserializer(DeserializationConfig config,
                  BeanDescription beanDesc,
                  JsonDeserializer<?> deserializer)Method called by  BeanDeserializerFactoryafter constructing default
 bean deserializer instance with properties collected and ordered earlier. | 
| JsonDeserializer<?> | modifyEnumDeserializer(DeserializationConfig config,
                      JavaType type,
                      BeanDescription beanDesc,
                      JsonDeserializer<?> deserializer) | 
| KeyDeserializer | modifyKeyDeserializer(DeserializationConfig config,
                     JavaType type,
                     KeyDeserializer deserializer)Method called by  DeserializerFactoryafter it has constructed the
 standard key deserializer for given key type. | 
| JsonDeserializer<?> | modifyMapDeserializer(DeserializationConfig config,
                     MapType type,
                     BeanDescription beanDesc,
                     JsonDeserializer<?> deserializer) | 
| JsonDeserializer<?> | modifyMapLikeDeserializer(DeserializationConfig config,
                         MapLikeType type,
                         BeanDescription beanDesc,
                         JsonDeserializer<?> deserializer) | 
| BeanDeserializerBuilder | updateBuilder(DeserializationConfig config,
             BeanDescription beanDesc,
             BeanDeserializerBuilder builder)Method called by  BeanDeserializerFactorywhen it has collected
 basic information such as tentative list of properties to deserialize. | 
| List<BeanPropertyDefinition> | updateProperties(DeserializationConfig config,
                BeanDescription beanDesc,
                List<BeanPropertyDefinition> propDefs)Method called by  BeanDeserializerFactorywhen it has collected
 initial list ofBeanPropertyDefinitions, and done basic by-name
 and by-type filtering, but before constructing builder or actual
 property handlers; or arranging order. | 
public List<BeanPropertyDefinition> updateProperties(DeserializationConfig config, BeanDescription beanDesc, List<BeanPropertyDefinition> propDefs)
BeanDeserializerFactory when it has collected
 initial list of BeanPropertyDefinitions, and done basic by-name
 and by-type filtering, but before constructing builder or actual
 property handlers; or arranging order.
 
 The most common changes to make at this point are to completely remove
 specified properties, or rename then: other modifications are easier
 to make at later points.public BeanDeserializerBuilder updateBuilder(DeserializationConfig config, BeanDescription beanDesc, BeanDeserializerBuilder builder)
BeanDeserializerFactory when it has collected
 basic information such as tentative list of properties to deserialize.
 Implementations may choose to modify state of builder (to affect deserializer being
 built), or even completely replace it (if they want to build different kind of
 deserializer). Typically changes mostly concern set of properties to deserialize.public JsonDeserializer<?> modifyDeserializer(DeserializationConfig config, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
BeanDeserializerFactory after constructing default
 bean deserializer instance with properties collected and ordered earlier.
 Implementations can modify or replace given deserializer and return deserializer
 to use. Note that although initial deserializer being passed is of type
 BeanDeserializer, modifiers may return deserializers of other types;
 and this is why implementations must check for type before casting.public JsonDeserializer<?> modifyArrayDeserializer(DeserializationConfig config, ArrayType valueType, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
DeserializerFactory after it has constructed the
 standard deserializer for given
 ArrayType
 to make it possible to either replace or augment this deserializer with
 additional functionality.config - Configuration in usevalueType - Type of the value deserializer is used for.beanDesc - Description fdeserializer - Default deserializer that would be used.deserializer that was passed
   in, or an instance method constructed.public JsonDeserializer<?> modifyCollectionDeserializer(DeserializationConfig config, CollectionType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
public JsonDeserializer<?> modifyCollectionLikeDeserializer(DeserializationConfig config, CollectionLikeType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
public JsonDeserializer<?> modifyMapDeserializer(DeserializationConfig config, MapType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
public JsonDeserializer<?> modifyMapLikeDeserializer(DeserializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
public JsonDeserializer<?> modifyEnumDeserializer(DeserializationConfig config, JavaType type, BeanDescription beanDesc, JsonDeserializer<?> deserializer)
public KeyDeserializer modifyKeyDeserializer(DeserializationConfig config, JavaType type, KeyDeserializer deserializer)
DeserializerFactory after it has constructed the
 standard key deserializer for given key type.
 This make it possible to replace the default key deserializer, or augment
 it somehow (including optional use of default deserializer with occasional
 override).Copyright © 2012-2013 FasterXML. All Rights Reserved.