Class BeanSerializerModifier

    • Constructor Detail

      • BeanSerializerModifier

        public BeanSerializerModifier()
    • Method Detail

      • changeProperties

        public java.util.List<BeanPropertyWriter> changeProperties​(SerializationConfig config,
                                                                   BeanDescription beanDesc,
                                                                   java.util.List<BeanPropertyWriter> beanProperties)
        Method called by 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.
      • orderProperties

        public java.util.List<BeanPropertyWriter> orderProperties​(SerializationConfig config,
                                                                  BeanDescription beanDesc,
                                                                  java.util.List<BeanPropertyWriter> beanProperties)
        Method called by 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.
      • updateBuilder

        public BeanSerializerBuilder updateBuilder​(SerializationConfig config,
                                                   BeanDescription beanDesc,
                                                   BeanSerializerBuilder builder)
        Method called by 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.
      • modifySerializer

        public JsonSerializer<?> modifySerializer​(SerializationConfig config,
                                                  BeanDescription beanDesc,
                                                  JsonSerializer<?> serializer)
        Method called by 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.

      • modifyArraySerializer

        public JsonSerializer<?> modifyArraySerializer​(SerializationConfig config,
                                                       ArrayType valueType,
                                                       BeanDescription beanDesc,
                                                       JsonSerializer<?> serializer)
        Method called by 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.
        Parameters:
        config - Configuration in use
        valueType - Type of the value serializer is used for.
        beanDesc - Details of the type in question, to allow checking class annotations
        serializer - Default serializer that would be used.
        Returns:
        Serializer to use; either serializer that was passed in, or an instance method constructed.
        Since:
        2.2
      • modifyKeySerializer

        public JsonSerializer<?> modifyKeySerializer​(SerializationConfig config,
                                                     JavaType valueType,
                                                     BeanDescription beanDesc,
                                                     JsonSerializer<?> serializer)
        Method called by 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.
        Parameters:
        config - Configuration in use
        valueType - Type of keys the serializer is used for.
        beanDesc - Details of the type in question, to allow checking class annotations
        serializer - Default serializer that would be used.
        Returns:
        Serializer to use; either serializer that was passed in, or an instance method constructed.
        Since:
        2.2