com.fasterxml.jackson.databind.ser.std

## Class EnumSetSerializer

- java.lang.Object
- - com.fasterxml.jackson.databind.JsonSerializer<T>
  - - com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
    - - com.fasterxml.jackson.databind.ser.ContainerSerializer<T>
      - - com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase<EnumSet<? extends Enum<?>>>
        - - com.fasterxml.jackson.databind.ser.std.EnumSetSerializer

All Implemented Interfaces:
  JsonFormatVisitable, SchemaAware, ContextualSerializer, Serializable

    public class EnumSetSerializer
    extends AsArraySerializerBase<EnumSet<? extends Enum<?>>>

See Also:
  Serialized Form

### Nested Class Summary

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

`JsonSerializer.None`

### Field Summary

### Fields inherited from class com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase

`_dynamicSerializers, _elementSerializer, _elementType, _property, _staticTyping, _valueTypeSerializer`

### Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

`_handledType`

### Constructor Summary

Constructors
Constructor and Description
`EnumSetSerializer(EnumSetSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer)`
`EnumSetSerializer(JavaType elemType, BeanProperty property)`

### Method Summary

Methods
`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(EnumSet<? extends Enum<?>> value)` Method called to determine if the given value (of type handled by this serializer) contains exactly one element.
`boolean` `isEmpty(SerializerProvider prov, EnumSet<? extends Enum<?>> value)` Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).
`void` `serialize(EnumSet<? extends Enum<?>> value, JsonGenerator jgen, SerializerProvider provider)` Method that can be called to ask implementation to serialize values of type this serializer handles.
`void` `serializeContents(EnumSet<? extends Enum<?>> value, JsonGenerator jgen, SerializerProvider provider)`
`EnumSetSerializer` `withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer)`

### Methods inherited from class com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase

`_findAndAddDynamic, _findAndAddDynamic, acceptJsonFormatVisitor, createContextual, getContentSerializer, getContentType, getSchema, serializeWithType`

### Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer

`hasContentTypeAnnotation, isEmpty, withValueTypeSerializer`

### Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer

`createObjectNode, createSchemaNode, createSchemaNode, findConvertingContentSerializer, findPropertyFilter, getSchema, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow`

### Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer

`getDelegatee, isUnwrappingSerializer, replaceDelegatee, unwrappingSerializer, usesObjectId`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### EnumSetSerializer

    public EnumSetSerializer(JavaType elemType,
                     BeanProperty property)

#### EnumSetSerializer

    public EnumSetSerializer(EnumSetSerializer src,
                     BeanProperty property,
                     TypeSerializer vts,
                     JsonSerializer<?> valueSerializer)

### Method Detail

#### _withValueTypeSerializer

    public EnumSetSerializer _withValueTypeSerializer(TypeSerializer vts)

Description copied from class: `ContainerSerializer`
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.

Specified by:
  `_withValueTypeSerializer` in class `ContainerSerializer<EnumSet<? extends Enum<?>>>`

#### withResolved

    public EnumSetSerializer withResolved(BeanProperty property,
                                 TypeSerializer vts,
                                 JsonSerializer<?> elementSerializer)

Specified by:
  `withResolved` in class `AsArraySerializerBase<EnumSet<? extends Enum<?>>>`

#### isEmpty

    public boolean isEmpty(SerializerProvider prov,
                  EnumSet<? extends Enum<?>> value)

Description copied from class: `JsonSerializer`
Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

Default implementation will consider only null values to be empty.

NOTE: replaces `JsonSerializer.isEmpty(Object)`, deprecated in 2.5

Overrides:
  `isEmpty` in class `JsonSerializer<EnumSet<? extends Enum<?>>>`

#### hasSingleElement

    public boolean hasSingleElement(EnumSet<? extends Enum<?>> value)

Description copied from class: `ContainerSerializer`
Method called to determine if the given value (of type handled by this serializer) contains exactly one element.

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).

Specified by:
  `hasSingleElement` in class `ContainerSerializer<EnumSet<? extends Enum<?>>>`

#### serialize

    public final void serialize(EnumSet<? extends Enum<?>> value,
                 JsonGenerator jgen,
                 SerializerProvider provider)
                         throws IOException

Description copied from class: `JsonSerializer`
Method that can be called to ask implementation to serialize values of type this serializer handles.

Overrides:
  `serialize` in class `AsArraySerializerBase<EnumSet<? extends Enum<?>>>`
Parameters:
  `value` - Value to serialize; can not be null.
  `jgen` - Generator used to output resulting Json content
  `provider` - Provider that can be used to get serializers for serializing Objects value contains, if any.
Throws:
  `IOException`

#### serializeContents

    public void serializeContents(EnumSet<? extends Enum<?>> value,
                         JsonGenerator jgen,
                         SerializerProvider provider)
                           throws IOException,
                                  JsonGenerationException

Specified by:
  `serializeContents` in class `AsArraySerializerBase<EnumSet<? extends Enum<?>>>`
Throws:
  `IOException`
  `JsonGenerationException`