public abstract class BeanSerializerModifier extends Object
BeanSerializerFactory
 to participate in constructing BeanSerializer instances.
 This is typically done by modules that want alter some aspects of serialization
 process; and is preferable to sub-classing of BeanSerializerFactory.
Sequence in which callback methods are called is as follows:
BeanPropertyWriter) is sent for modification via
     changeProperties(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.BeanDescription, java.util.List<com.fasterxml.jackson.databind.ser.BeanPropertyWriter>). Changes can include removal, addition and
     replacement of suggested properties.
  orderProperties(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.BeanDescription, java.util.List<com.fasterxml.jackson.databind.ser.BeanPropertyWriter>) is called to allow
     modifiers to alter ordering.
  updateBuilder(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.BeanDescription, com.fasterxml.jackson.databind.ser.BeanSerializerBuilder) is called with builder, to allow builder state
     to be modified (including possibly replacing builder itself if necessary)
  BeanSerializer instance and passes
     it to modifiers using modifySerializer(com.fasterxml.jackson.databind.SerializationConfig, com.fasterxml.jackson.databind.BeanDescription, com.fasterxml.jackson.databind.JsonSerializer<?>), for possible
     modification or replacement (by any JsonSerializer instance)
 Default method implementations are "no-op"s, meaning that methods are implemented but have no effect.
| Constructor and Description | 
|---|
| BeanSerializerModifier() | 
| Modifier and Type | Method and Description | 
|---|---|
| List<BeanPropertyWriter> | changeProperties(SerializationConfig config,
                BeanDescription beanDesc,
                List<BeanPropertyWriter> beanProperties)Method called by  BeanSerializerFactorywith tentative set
 of discovered properties. | 
| JsonSerializer<?> | modifyArraySerializer(SerializationConfig config,
                     ArrayType valueType,
                     BeanDescription beanDesc,
                     JsonSerializer<?> serializer)Method called by  DeserializerFactoryafter it has constructed the
 standard serializer for givenArrayTypeto make it possible to either replace or augment this serializer with
 additional functionality. | 
| JsonSerializer<?> | modifyCollectionLikeSerializer(SerializationConfig config,
                              CollectionLikeType valueType,
                              BeanDescription beanDesc,
                              JsonSerializer<?> serializer) | 
| JsonSerializer<?> | modifyCollectionSerializer(SerializationConfig config,
                          CollectionType valueType,
                          BeanDescription beanDesc,
                          JsonSerializer<?> serializer) | 
| JsonSerializer<?> | modifyEnumSerializer(SerializationConfig config,
                    JavaType valueType,
                    BeanDescription beanDesc,
                    JsonSerializer<?> serializer) | 
| JsonSerializer<?> | modifyKeySerializer(SerializationConfig config,
                   JavaType valueType,
                   BeanDescription beanDesc,
                   JsonSerializer<?> serializer)Method called by  DeserializerFactoryafter it has constructed the
 default key serializer to use for serializingMapkeys of
 given type. | 
| JsonSerializer<?> | modifyMapLikeSerializer(SerializationConfig config,
                       MapLikeType valueType,
                       BeanDescription beanDesc,
                       JsonSerializer<?> serializer) | 
| JsonSerializer<?> | modifyMapSerializer(SerializationConfig config,
                   MapType valueType,
                   BeanDescription beanDesc,
                   JsonSerializer<?> serializer) | 
| JsonSerializer<?> | modifySerializer(SerializationConfig config,
                BeanDescription beanDesc,
                JsonSerializer<?> serializer)Method called by  BeanSerializerFactoryafter constructing default
 bean serializer instance with properties collected and ordered earlier. | 
| List<BeanPropertyWriter> | orderProperties(SerializationConfig config,
               BeanDescription beanDesc,
               List<BeanPropertyWriter> beanProperties)Method called by  BeanSerializerFactorywith set of properties
 to serialize, in default ordering (based on defaults as well as 
 possible type annotations). | 
| BeanSerializerBuilder | updateBuilder(SerializationConfig config,
             BeanDescription beanDesc,
             BeanSerializerBuilder builder)Method called by  BeanSerializerFactoryafter collecting all information
 regarding POJO to serialize and updating builder with it, but before constructing
 serializer. | 
public List<BeanPropertyWriter> changeProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)
BeanSerializerFactory with tentative set
 of discovered properties.
 Implementations can add, remove or replace any of passed properties.
 Properties List passed as argument is modifiable, and returned List must
 likewise be modifiable as it may be passed to multiple registered
 modifiers.public List<BeanPropertyWriter> orderProperties(SerializationConfig config, BeanDescription beanDesc, List<BeanPropertyWriter> beanProperties)
BeanSerializerFactory with set of properties
 to serialize, in default ordering (based on defaults as well as 
 possible type annotations).
 Implementations can change ordering any way they like.
 Properties List passed as argument is modifiable, and returned List must
 likewise be modifiable as it may be passed to multiple registered
 modifiers.public BeanSerializerBuilder updateBuilder(SerializationConfig config, BeanDescription beanDesc, BeanSerializerBuilder builder)
BeanSerializerFactory after collecting all information
 regarding POJO to serialize and updating builder with it, but before constructing
 serializer.
 Implementations may choose to modify state of builder (to affect serializer being
 built), or even completely replace it (if they want to build different kind of
 serializer). Typically, however, passed-in builder is returned, possibly with
 some modifications.public JsonSerializer<?> modifySerializer(SerializationConfig config, BeanDescription beanDesc, JsonSerializer<?> serializer)
BeanSerializerFactory after constructing default
 bean serializer instance with properties collected and ordered earlier.
 Implementations can modify or replace given serializer and return serializer
 to use. Note that although initial serializer being passed is of type
 BeanSerializer, modifiers may return serializers of other types;
 and this is why implementations must check for type before casting.
 NOTE: since 2.2, gets called for serializer of those non-POJO types that
 do not go through any of more specific modifyXxxSerializer
 methods; mostly for JDK types like Iterator and such.
public JsonSerializer<?> modifyArraySerializer(SerializationConfig config, ArrayType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
DeserializerFactory after it has constructed the
 standard serializer for given
 ArrayType
 to make it possible to either replace or augment this serializer with
 additional functionality.config - Configuration in usevalueType - Type of the value serializer is used for.beanDesc - Details of the type in question, to allow checking class annotationsserializer - Default serializer that would be used.serializer that was passed
   in, or an instance method constructed.public JsonSerializer<?> modifyCollectionSerializer(SerializationConfig config, CollectionType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
public JsonSerializer<?> modifyCollectionLikeSerializer(SerializationConfig config, CollectionLikeType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
public JsonSerializer<?> modifyMapSerializer(SerializationConfig config, MapType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
public JsonSerializer<?> modifyMapLikeSerializer(SerializationConfig config, MapLikeType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
public JsonSerializer<?> modifyEnumSerializer(SerializationConfig config, JavaType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
public JsonSerializer<?> modifyKeySerializer(SerializationConfig config, JavaType valueType, BeanDescription beanDesc, JsonSerializer<?> serializer)
DeserializerFactory after it has constructed the
 default key serializer to use for serializing Map keys of
 given type.
 This makes it possible to either replace or augment default serializer with
 additional functionality.config - Configuration in usevalueType - Type of keys the serializer is used for.beanDesc - Details of the type in question, to allow checking class annotationsserializer - Default serializer that would be used.serializer that was passed
   in, or an instance method constructed.Copyright © 2008–2016 FasterXML. All rights reserved.