public class EnumSetSerializer extends AsArraySerializerBase<java.util.EnumSet<? extends java.lang.Enum<?>>>
JsonSerializer.None
Constructor and Description |
---|
EnumSetSerializer(EnumSetSerializer src,
BeanProperty property,
TypeSerializer vts,
JsonSerializer<?> valueSerializer,
java.lang.Boolean unwrapSingle) |
EnumSetSerializer(JavaType elemType) |
Modifier and Type | Method and Description |
---|---|
EnumSetSerializer |
_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(java.util.EnumSet<? extends java.lang.Enum<?>> value)
Method called to determine if the given value (of type handled by
this serializer) contains exactly one element.
|
boolean |
isEmpty(SerializerProvider prov,
java.util.EnumSet<? extends java.lang.Enum<?>> value)
Method called to check whether given serializable value is
considered "empty" value (for purposes of suppressing serialization
of empty values).
|
void |
serialize(java.util.EnumSet<? extends java.lang.Enum<?>> value,
JsonGenerator gen,
SerializerProvider provider)
Method that can be called to ask implementation to serialize
values of type this serializer handles.
|
void |
serializeContents(java.util.EnumSet<? extends java.lang.Enum<?>> value,
JsonGenerator gen,
SerializerProvider provider) |
EnumSetSerializer |
withResolved(BeanProperty property,
TypeSerializer vts,
JsonSerializer<?> elementSerializer,
java.lang.Boolean unwrapSingle) |
acceptJsonFormatVisitor, createContextual, getContentSerializer, getContentType, getSchema, serializeWithType, withResolved
withValueTypeSerializer
getSchema, handledType, wrapAndThrow, wrapAndThrow
getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
public EnumSetSerializer(JavaType elemType)
public EnumSetSerializer(EnumSetSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, java.lang.Boolean unwrapSingle)
public EnumSetSerializer _withValueTypeSerializer(TypeSerializer vts)
ContainerSerializer
TypeSerializer
, used when
addition type information is to be embedded.public EnumSetSerializer withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, java.lang.Boolean unwrapSingle)
withResolved
in class AsArraySerializerBase<java.util.EnumSet<? extends java.lang.Enum<?>>>
public boolean isEmpty(SerializerProvider prov, java.util.EnumSet<? extends java.lang.Enum<?>> 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<java.util.EnumSet<? extends java.lang.Enum<?>>>
public boolean hasSingleElement(java.util.EnumSet<? extends java.lang.Enum<?>> 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<java.util.EnumSet<? extends java.lang.Enum<?>>>
public final void serialize(java.util.EnumSet<? extends java.lang.Enum<?>> value, JsonGenerator gen, SerializerProvider provider) throws java.io.IOException
JsonSerializer
serialize
in class AsArraySerializerBase<java.util.EnumSet<? extends java.lang.Enum<?>>>
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.java.io.IOException
public void serializeContents(java.util.EnumSet<? extends java.lang.Enum<?>> value, JsonGenerator gen, SerializerProvider provider) throws java.io.IOException
java.io.IOException
Copyright © 2010 - 2020 Adobe. All Rights Reserved