Class StringCollectionSerializer
java.lang.Object
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializer<T>
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase<Collection<String>>
edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.impl.StringCollectionSerializer
- All Implemented Interfaces:
JsonFormatVisitable
,SchemaAware
,ContextualSerializer
,Serializable
Efficient implement for serializing
Collection
s that contain Strings.
The only complexity is due to possibility that serializer for String
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:
-
Nested Class Summary
Nested classes/interfaces inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializer
JsonSerializer.None
-
Field Summary
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase
_unwrapSingle
Fields inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType
-
Constructor Summary
ModifierConstructorDescriptionprotected
protected
StringCollectionSerializer
(StringCollectionSerializer src, Boolean unwrapSingle) -
Method Summary
Modifier and TypeMethodDescription_withResolved
(BeanProperty prop, Boolean unwrapSingle) protected void
protected JsonNode
void
serialize
(Collection<String> value, JsonGenerator g, SerializerProvider provider) Method that can be called to ask implementation to serialize values of type this serializer handles.void
serializeWithType
(Collection<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 edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StaticListSerializerBase
acceptJsonFormatVisitor, createContextual, getSchema, isEmpty
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.ser.std.StdSerializer
_neitherNull, _nonEmpty, createSchemaNode, createSchemaNode, findAnnotatedContentSerializer, findContextualConvertingSerializer, findConvertingContentSerializer, findFormatFeature, findFormatOverrides, findIncludeOverrides, findPropertyFilter, getSchema, handledType, isDefaultSerializer, visitArrayFormat, visitArrayFormat, visitFloatFormat, visitIntFormat, visitIntFormat, visitStringFormat, visitStringFormat, wrapAndThrow, wrapAndThrow
Methods inherited from class edu.internet2.middleware.grouperClientExt.com.fasterxml.jackson.databind.JsonSerializer
getDelegatee, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, unwrappingSerializer, usesObjectId, withFilterId
-
Field Details
-
instance
-
-
Constructor Details
-
StringCollectionSerializer
protected StringCollectionSerializer() -
StringCollectionSerializer
-
-
Method Details
-
_withResolved
- Specified by:
_withResolved
in classStaticListSerializerBase<Collection<String>>
-
contentSchema
- Specified by:
contentSchema
in classStaticListSerializerBase<Collection<String>>
-
acceptContentVisitor
- Specified by:
acceptContentVisitor
in classStaticListSerializerBase<Collection<String>>
- Throws:
JsonMappingException
-
serialize
public void serialize(Collection<String> value, JsonGenerator g, 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.- Specified by:
serialize
in classStdSerializer<Collection<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:
IOException
-
serializeWithType
public void serializeWithType(Collection<String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer) throws 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<Collection<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:
IOException
-