public class IterableSerializer extends AsArraySerializerBase<Iterable<?>>
JsonSerializer.None
_dynamicSerializers, _elementSerializer, _elementType, _property, _staticTyping, _unwrapSingle, _valueTypeSerializer
_handledType
Constructor and Description |
---|
IterableSerializer(IterableSerializer src,
BeanProperty property,
TypeSerializer vts,
JsonSerializer<?> valueSerializer,
Boolean unwrapSingle) |
IterableSerializer(JavaType elemType,
boolean staticTyping,
TypeSerializer vts) |
Modifier and Type | Method and Description |
---|---|
ContainerSerializer<?> |
_withValueTypeSerializer(TypeSerializer vts)
Method that needs to be implemented to allow construction of a new
serializer object with given
TypeSerializer , used when
addition type information is to be embedded. |
boolean |
hasSingleElement(Iterable<?> value)
Method called to determine if the given value (of type handled by
this serializer) contains exactly one element.
|
boolean |
isEmpty(SerializerProvider prov,
Iterable<?> value)
Method called to check whether given serializable value is
considered "empty" value (for purposes of suppressing serialization
of empty values).
|
void |
serialize(Iterable<?> value,
com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider provider)
Method that can be called to ask implementation to serialize
values of type this serializer handles.
|
void |
serializeContents(Iterable<?> value,
com.fasterxml.jackson.core.JsonGenerator jgen,
SerializerProvider provider) |
IterableSerializer |
withResolved(BeanProperty property,
TypeSerializer vts,
JsonSerializer<?> elementSerializer,
Boolean unwrapSingle) |
_findAndAddDynamic, _findAndAddDynamic, acceptJsonFormatVisitor, createContextual, getContentSerializer, getContentType, getSchema, serializeWithType, withResolved
hasContentTypeAnnotation, withValueTypeSerializer
_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
public IterableSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts)
public IterableSerializer(IterableSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)
public ContainerSerializer<?> _withValueTypeSerializer(TypeSerializer vts)
ContainerSerializer
TypeSerializer
, used when
addition type information is to be embedded._withValueTypeSerializer
in class ContainerSerializer<Iterable<?>>
public IterableSerializer withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)
withResolved
in class AsArraySerializerBase<Iterable<?>>
public boolean isEmpty(SerializerProvider prov, Iterable<?> value)
JsonSerializer
Default implementation will consider only null values to be empty.
NOTE: replaces JsonSerializer.isEmpty(Object)
, which was deprecated in 2.5
isEmpty
in class JsonSerializer<Iterable<?>>
public boolean hasSingleElement(Iterable<?> value)
ContainerSerializer
Note: although it might seem sensible to instead define something like "getElementCount()" method, this would not work well for containers that do not keep track of size (like linked lists may not).
Note, too, that as of now (2.9) this method is only called by serializer
itself; and specifically is not used for non-array/collection types
like Map
or Map.Entry
instances.
hasSingleElement
in class ContainerSerializer<Iterable<?>>
public final void serialize(Iterable<?> value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider) throws IOException
JsonSerializer
serialize
in class AsArraySerializerBase<Iterable<?>>
value
- Value to serialize; can not be null.gen
- Generator used to output resulting Json contentprovider
- Provider that can be used to get serializers for
serializing Objects value contains, if any.IOException
public void serializeContents(Iterable<?> value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider) throws IOException
serializeContents
in class AsArraySerializerBase<Iterable<?>>
IOException
Copyright © 2008–2023 FasterXML. All rights reserved.