Class StringCollectionSerializer
- java.lang.Object
-
- com.fasterxml.jackson.databind.JsonSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
-
- com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase<java.util.Collection<java.lang.String>>
-
- com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer
-
- All Implemented Interfaces:
JsonFormatVisitable
,SchemaAware
,ContextualSerializer
,java.io.Serializable
public class StringCollectionSerializer extends StaticListSerializerBase<java.util.Collection<java.lang.String>>
Efficient implement for serializingCollection
s that contain Strings. The only complexity is due to possibility that serializer forString
may be overridde; because of this, logic is needed to ensure that the default serializer is in use to use fastest mode, or if not, to defer to custom String serializer.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
JsonSerializer.None
-
-
Field Summary
Fields Modifier and Type Field Description static StringCollectionSerializer
instance
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description JsonSerializer<?>
_withResolved(BeanProperty prop, java.lang.Boolean unwrapSingle)
void
serialize(java.util.Collection<java.lang.String> value, JsonGenerator g, SerializerProvider provider)
Method that can be called to ask implementation to serialize values of type this serializer handles.void
serializeWithType(java.util.Collection<java.lang.String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)
Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase
acceptJsonFormatVisitor, createContextual, getSchema, isEmpty
-
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
getSchema, handledType, wrapAndThrow, wrapAndThrow
-
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
-
-
-
-
Field Detail
-
instance
public static final StringCollectionSerializer instance
-
-
Method Detail
-
_withResolved
public JsonSerializer<?> _withResolved(BeanProperty prop, java.lang.Boolean unwrapSingle)
- Specified by:
_withResolved
in classStaticListSerializerBase<java.util.Collection<java.lang.String>>
-
serialize
public void serialize(java.util.Collection<java.lang.String> value, JsonGenerator g, SerializerProvider provider) throws java.io.IOException
Description copied from class:JsonSerializer
Method that can be called to ask implementation to serialize values of type this serializer handles.- Specified by:
serialize
in classStdSerializer<java.util.Collection<java.lang.String>>
- Parameters:
value
- Value to serialize; can not be null.g
- Generator used to output resulting Json contentprovider
- Provider that can be used to get serializers for serializing Objects value contains, if any.- Throws:
java.io.IOException
-
serializeWithType
public void serializeWithType(java.util.Collection<java.lang.String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException
Description copied from class:JsonSerializer
Method that can be called to ask implementation to serialize values of type this serializer handles, using specified type serializer for embedding necessary type information.Default implementation will throw
UnsupportedOperationException
to indicate that proper type handling needs to be implemented.For simple datatypes written as a single scalar value (JSON String, Number, Boolean), implementation would look like:
// note: method to call depends on whether this type is serialized as JSON scalar, object or Array! typeSer.writeTypePrefixForScalar(value, gen); serialize(value, gen, provider); typeSer.writeTypeSuffixForScalar(value, gen);
and implementations for type serialized as JSON Arrays or Objects would differ slightly, asSTART-ARRAY
/END-ARRAY
andSTART-OBJECT
/END-OBJECT
pairs need to be properly handled with respect to serializing of contents.- Specified by:
serializeWithType
in classStaticListSerializerBase<java.util.Collection<java.lang.String>>
- Parameters:
value
- Value to serialize; can not be null.g
- Generator used to output resulting Json contentprovider
- Provider that can be used to get serializers for serializing Objects value contains, if any.typeSer
- Type serializer to use for including type information- Throws:
java.io.IOException
-
-