Class NullCollectionsAsEmptyModule

java.lang.Object
com.fasterxml.jackson.databind.Module
com.fasterxml.jackson.databind.module.SimpleModule
io.fluxcapacitor.common.serialization.NullCollectionsAsEmptyModule
All Implemented Interfaces:
com.fasterxml.jackson.core.Versioned, Serializable

public class NullCollectionsAsEmptyModule extends com.fasterxml.jackson.databind.module.SimpleModule
A custom Jackson module that configures deserialization behavior to treat null collections as empty collections. This module sets up serialization and deserialization rules for common collection types such as List, Set, Map, and their variants, ensuring null values are handled consistently.

This module overrides Jackson's default behavior by: 1. Configuring the deserializer to replace null values with empty collections when setting property values. 2. Ensuring that null values are always included during serialization.

Supported collection types include: - Collection - SequencedCollection - List - Set, SortedSet, SequencedSet - Map, SortedMap, SequencedMap

This module is enabled by default in JsonUtils and hence in JacksonSerializer.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.Module

    com.fasterxml.jackson.databind.Module.SetupContext
  • Field Summary

    Fields inherited from class com.fasterxml.jackson.databind.module.SimpleModule

    _abstractTypes, _deserializerModifier, _deserializers, _hasExplicitName, _keyDeserializers, _keySerializers, _mixins, _name, _namingStrategy, _serializerModifier, _serializers, _subtypes, _valueInstantiators, _version
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    setupModule(com.fasterxml.jackson.databind.Module.SetupContext context)
     

    Methods inherited from class com.fasterxml.jackson.databind.module.SimpleModule

    _checkNotNull, addAbstractTypeMapping, addDeserializer, addKeyDeserializer, addKeySerializer, addSerializer, addSerializer, addValueInstantiator, getModuleName, getTypeId, registerSubtypes, registerSubtypes, registerSubtypes, setAbstractTypes, setDeserializerModifier, setDeserializers, setKeyDeserializers, setKeySerializers, setMixInAnnotation, setNamingStrategy, setSerializerModifier, setSerializers, setValueInstantiators, version

    Methods inherited from class com.fasterxml.jackson.databind.Module

    getDependencies

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • NullCollectionsAsEmptyModule

      public NullCollectionsAsEmptyModule()
  • Method Details

    • setupModule

      public void setupModule(com.fasterxml.jackson.databind.Module.SetupContext context)
      Overrides:
      setupModule in class com.fasterxml.jackson.databind.module.SimpleModule