com.fasterxml.jackson.databind.ser.std
Class EnumSetSerializer

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonSerializer<T>
      extended by com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
          extended by com.fasterxml.jackson.databind.ser.ContainerSerializer<T>
              extended by com.fasterxml.jackson.databind.ser.std.AsArraySerializerBase<EnumSet<? extends Enum<?>>>
                  extended by com.fasterxml.jackson.databind.ser.std.EnumSetSerializer
All Implemented Interfaces:
SchemaAware, ContextualSerializer

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


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
EnumSetSerializer(EnumSetSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer)
           
EnumSetSerializer(JavaType elemType, BeanProperty property)
           
 
Method Summary
 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(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 serializeContents(EnumSet<? extends Enum<?>> value, com.fasterxml.jackson.core.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, createContextual, getContentSerializer, getContentType, getSchema, serialize, serializeWithType
 
Methods inherited from class com.fasterxml.jackson.databind.ser.ContainerSerializer
withValueTypeSerializer
 
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
createObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow
 
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
isUnwrappingSerializer, 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(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.

Specified by:
isEmpty in class ContainerSerializer<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<?>>>

serializeContents

public void serializeContents(EnumSet<? extends Enum<?>> value,
                              com.fasterxml.jackson.core.JsonGenerator jgen,
                              SerializerProvider provider)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException
Specified by:
serializeContents in class AsArraySerializerBase<EnumSet<? extends Enum<?>>>
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException


Copyright © 2012 fasterxml.com. All Rights Reserved.