Class MapSerializer

All Implemented Interfaces:
JsonFormatVisitable, SchemaAware, ContextualSerializer, Serializable

public class MapSerializer extends ContainerSerializer<Map<?,?>> implements ContextualSerializer
Standard serializer implementation for serializing {link java.util.Map} types.

Note: about the only configurable setting currently is ability to filter out entries with specified names.

See Also:
  • Field Details

    • UNSPECIFIED_TYPE

      protected static final JavaType UNSPECIFIED_TYPE
    • MARKER_FOR_EMPTY

      public static final Object MARKER_FOR_EMPTY
      Since:
      2.9
    • _property

      protected final BeanProperty _property
      Map-valued property being serialized with this instance
    • _valueTypeIsStatic

      protected final boolean _valueTypeIsStatic
      Whether static types should be used for serialization of values or not (if not, dynamic runtime type is used)
    • _keyType

      protected final JavaType _keyType
      Declared type of keys
    • _valueType

      protected final JavaType _valueType
      Declared type of contained values
    • _keySerializer

      protected JsonSerializer<Object> _keySerializer
      Key serializer to use, if it can be statically determined
    • _valueSerializer

      protected JsonSerializer<Object> _valueSerializer
      Value serializer to use, if it can be statically determined
    • _valueTypeSerializer

      protected final TypeSerializer _valueTypeSerializer
      Type identifier serializer used for values, if any.
    • _dynamicValueSerializers

      protected PropertySerializerMap _dynamicValueSerializers
      If value type cannot be statically determined, mapping from runtime value types to serializers are stored in this object.
    • _ignoredEntries

      protected final Set<String> _ignoredEntries
      Set of entries to omit during serialization, if any
    • _includedEntries

      protected final Set<String> _includedEntries
      Set of entries to include during serialization, if null, it is ignored, empty will include nothing.
      Since:
      2.12
    • _filterId

      protected final Object _filterId
      Id of the property filter to use, if any; null if none.
      Since:
      2.3
    • _suppressableValue

      protected final Object _suppressableValue
      Value that indicates suppression mechanism to use for values contained; either "filter" (of which equals() is called), or marker value of MARKER_FOR_EMPTY, or null to indicate no filtering for non-null values. Note that inclusion value for Map instance itself is handled by caller (POJO property that refers to the Map value).
      Since:
      2.5
    • _suppressNulls

      protected final boolean _suppressNulls
      Flag that indicates what to do with `null` values, distinct from handling of _suppressableValue
      Since:
      2.9
    • _inclusionChecker

      protected final IgnorePropertiesUtil.Checker _inclusionChecker
      Helper object used for name-based filtering
      Since:
      2.12
    • _sortKeys

      protected final boolean _sortKeys
      Flag set if output is forced to be sorted by keys (usually due to annotation).
      Since:
      2.4
  • Constructor Details

  • Method Details