public class MultimapSerializer
extends com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.collect.Multimap<?,?>>
implements com.fasterxml.jackson.databind.ser.ContextualSerializer
Multimap values. Output format encloses all
value sets in JSON Array, regardless of number of values; this to reduce
complexity (and inaccuracy) of trying to handle cases where values themselves
would be serialized as arrays (in which cases determining whether given array
is a wrapper or value gets complicated and unreliable).
Missing features, compared to standard Java Maps:
| Modifier and Type | Field and Description |
|---|---|
protected com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap |
_dynamicValueSerializers
If value type can not be statically determined, mapping from
runtime value types to serializers are stored in this object.
|
protected Object |
_filterId
Id of the property filter to use, if any; null if none.
|
protected Set<String> |
_ignoredEntries
Set of entries to omit during serialization, if any
|
protected boolean |
_sortKeys
Flag set if output is forced to be sorted by keys (usually due
to annotation).
|
| Modifier | Constructor and Description |
|---|---|
|
MultimapSerializer(com.fasterxml.jackson.databind.type.MapLikeType type,
com.fasterxml.jackson.databind.BeanDescription beanDesc,
com.fasterxml.jackson.databind.JsonSerializer<Object> keySerializer,
com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
com.fasterxml.jackson.databind.JsonSerializer<Object> valueSerializer,
Set<String> ignoredEntries,
Object filterId) |
protected |
MultimapSerializer(MultimapSerializer src,
com.fasterxml.jackson.databind.BeanProperty property,
com.fasterxml.jackson.databind.JsonSerializer<?> keySerializer,
com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
com.fasterxml.jackson.databind.JsonSerializer<?> valueSerializer,
Set<String> ignoredEntries,
Object filterId,
boolean sortKeys) |
| Modifier and Type | Method and Description |
|---|---|
protected com.fasterxml.jackson.databind.JsonSerializer<Object> |
_findAndAddDynamic(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map,
Class<?> type,
com.fasterxml.jackson.databind.SerializerProvider provider) |
protected com.fasterxml.jackson.databind.JsonSerializer<Object> |
_findAndAddDynamic(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map,
com.fasterxml.jackson.databind.JavaType type,
com.fasterxml.jackson.databind.SerializerProvider provider) |
protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> |
_withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) |
void |
acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor,
com.fasterxml.jackson.databind.JavaType typeHint) |
com.fasterxml.jackson.databind.JsonSerializer<?> |
createContextual(com.fasterxml.jackson.databind.SerializerProvider provider,
com.fasterxml.jackson.databind.BeanProperty property) |
com.fasterxml.jackson.databind.JsonSerializer<?> |
getContentSerializer() |
com.fasterxml.jackson.databind.JavaType |
getContentType() |
boolean |
hasSingleElement(com.google.common.collect.Multimap<?,?> map) |
boolean |
isEmpty(com.fasterxml.jackson.databind.SerializerProvider prov,
com.google.common.collect.Multimap<?,?> value) |
void |
serialize(com.google.common.collect.Multimap<?,?> value,
com.fasterxml.jackson.core.JsonGenerator gen,
com.fasterxml.jackson.databind.SerializerProvider provider) |
void |
serializeWithType(com.google.common.collect.Multimap<?,?> value,
com.fasterxml.jackson.core.JsonGenerator gen,
com.fasterxml.jackson.databind.SerializerProvider provider,
com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer) |
protected MultimapSerializer |
withResolved(com.fasterxml.jackson.databind.BeanProperty property,
com.fasterxml.jackson.databind.JsonSerializer<?> keySer,
com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
com.fasterxml.jackson.databind.JsonSerializer<?> valueSer,
Set<String> ignored,
Object filterId,
boolean sortKeys) |
hasContentTypeAnnotation, withValueTypeSerializer_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrowprotected final Set<String> _ignoredEntries
protected com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap _dynamicValueSerializers
protected final Object _filterId
protected final boolean _sortKeys
NOTE: not yet used.
public MultimapSerializer(com.fasterxml.jackson.databind.type.MapLikeType type,
com.fasterxml.jackson.databind.BeanDescription beanDesc,
com.fasterxml.jackson.databind.JsonSerializer<Object> keySerializer,
com.fasterxml.jackson.databind.jsontype.TypeSerializer vts,
com.fasterxml.jackson.databind.JsonSerializer<Object> valueSerializer,
Set<String> ignoredEntries,
Object filterId)
protected MultimapSerializer(MultimapSerializer src, com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.databind.JsonSerializer<?> keySerializer, com.fasterxml.jackson.databind.jsontype.TypeSerializer vts, com.fasterxml.jackson.databind.JsonSerializer<?> valueSerializer, Set<String> ignoredEntries, Object filterId, boolean sortKeys)
protected MultimapSerializer withResolved(com.fasterxml.jackson.databind.BeanProperty property, com.fasterxml.jackson.databind.JsonSerializer<?> keySer, com.fasterxml.jackson.databind.jsontype.TypeSerializer vts, com.fasterxml.jackson.databind.JsonSerializer<?> valueSer, Set<String> ignored, Object filterId, boolean sortKeys)
protected com.fasterxml.jackson.databind.ser.ContainerSerializer<?> _withValueTypeSerializer(com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
_withValueTypeSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.collect.Multimap<?,?>>public com.fasterxml.jackson.databind.JsonSerializer<?> createContextual(com.fasterxml.jackson.databind.SerializerProvider provider,
com.fasterxml.jackson.databind.BeanProperty property)
throws com.fasterxml.jackson.databind.JsonMappingException
createContextual in interface com.fasterxml.jackson.databind.ser.ContextualSerializercom.fasterxml.jackson.databind.JsonMappingExceptionpublic com.fasterxml.jackson.databind.JsonSerializer<?> getContentSerializer()
getContentSerializer in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.collect.Multimap<?,?>>public com.fasterxml.jackson.databind.JavaType getContentType()
getContentType in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.collect.Multimap<?,?>>public boolean hasSingleElement(com.google.common.collect.Multimap<?,?> map)
hasSingleElement in class com.fasterxml.jackson.databind.ser.ContainerSerializer<com.google.common.collect.Multimap<?,?>>public boolean isEmpty(com.fasterxml.jackson.databind.SerializerProvider prov,
com.google.common.collect.Multimap<?,?> value)
isEmpty in class com.fasterxml.jackson.databind.JsonSerializer<com.google.common.collect.Multimap<?,?>>public void serialize(com.google.common.collect.Multimap<?,?> value,
com.fasterxml.jackson.core.JsonGenerator gen,
com.fasterxml.jackson.databind.SerializerProvider provider)
throws IOException
serialize in class com.fasterxml.jackson.databind.ser.std.StdSerializer<com.google.common.collect.Multimap<?,?>>IOExceptionpublic void serializeWithType(com.google.common.collect.Multimap<?,?> value,
com.fasterxml.jackson.core.JsonGenerator gen,
com.fasterxml.jackson.databind.SerializerProvider provider,
com.fasterxml.jackson.databind.jsontype.TypeSerializer typeSer)
throws IOException
serializeWithType in class com.fasterxml.jackson.databind.JsonSerializer<com.google.common.collect.Multimap<?,?>>IOExceptionpublic void acceptJsonFormatVisitor(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitorWrapper visitor,
com.fasterxml.jackson.databind.JavaType typeHint)
throws com.fasterxml.jackson.databind.JsonMappingException
acceptJsonFormatVisitor in interface com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitableacceptJsonFormatVisitor in class com.fasterxml.jackson.databind.ser.std.StdSerializer<com.google.common.collect.Multimap<?,?>>com.fasterxml.jackson.databind.JsonMappingExceptionprotected final com.fasterxml.jackson.databind.JsonSerializer<Object> _findAndAddDynamic(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map, Class<?> type, com.fasterxml.jackson.databind.SerializerProvider provider) throws com.fasterxml.jackson.databind.JsonMappingException
com.fasterxml.jackson.databind.JsonMappingExceptionprotected final com.fasterxml.jackson.databind.JsonSerializer<Object> _findAndAddDynamic(com.fasterxml.jackson.databind.ser.impl.PropertySerializerMap map, com.fasterxml.jackson.databind.JavaType type, com.fasterxml.jackson.databind.SerializerProvider provider) throws com.fasterxml.jackson.databind.JsonMappingException
com.fasterxml.jackson.databind.JsonMappingExceptionCopyright © 2020 FasterXML. All rights reserved.