java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.BeanSerializerModifier

public abstract class BeanSerializerModifier extends Object
Abstract class that defines API for objects that can be registered (for 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:

  1. After factory has collected tentative set of properties (instances of BeanPropertyWriter) is sent for modification via changeProperties(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.SerializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, java.util.List<edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.BeanPropertyWriter>). Changes can include removal, addition and replacement of suggested properties.
  2. Resulting set of properties are ordered (sorted) by factory, as per configuration, and then orderProperties(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.SerializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, java.util.List<edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.BeanPropertyWriter>) is called to allow modifiers to alter ordering.
  3. After all bean properties and related information is accumulated, updateBuilder(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.SerializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.BeanSerializerBuilder) is called with builder, to allow builder state to be modified (including possibly replacing builder itself if necessary)
  4. Once all bean information has been determined, factory creates default BeanSerializer instance and passes it to modifiers using modifySerializer(edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.SerializationConfig, edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.BeanDescription, edu.internet2.middleware.grouperClientExt.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 Details

    • BeanSerializerModifier

      public BeanSerializerModifier()
  • Method Details