ResolvableSerializer, SchemaAwareCollectionSerializer, EnumSetSerializer, IterableSerializer, StdContainerSerializers.IndexedListSerializer, StdContainerSerializers.IteratorSerializerpublic abstract class AsArraySerializerBase<T> extends ContainerSerializerBase<T> implements ResolvableSerializer
Collection
and array types.JsonSerializer.None| Modifier and Type | Field | Description |
|---|---|---|
protected PropertySerializerMap |
_dynamicSerializers |
If element type can not be statically determined, mapping from
runtime type to serializer is handled using this object
|
protected JsonSerializer<java.lang.Object> |
_elementSerializer |
Value serializer to use, if it can be statically determined
|
protected JavaType |
_elementType |
|
protected BeanProperty |
_property |
Collection-valued property being serialized with this instance
|
protected boolean |
_staticTyping |
|
protected TypeSerializer |
_valueTypeSerializer |
Type serializer used for values, if any.
|
_handledType| Modifier | Constructor | Description |
|---|---|---|
protected |
AsArraySerializerBase(java.lang.Class<?> cls,
JavaType et,
boolean staticTyping,
TypeSerializer vts,
BeanProperty property) |
Deprecated.
since 1.8
|
protected |
AsArraySerializerBase(java.lang.Class<?> cls,
JavaType et,
boolean staticTyping,
TypeSerializer vts,
BeanProperty property,
JsonSerializer<java.lang.Object> elementSerializer) |
| Modifier and Type | Method | Description |
|---|---|---|
protected JsonSerializer<java.lang.Object> |
_findAndAddDynamic(PropertySerializerMap map,
java.lang.Class<?> type,
SerializerProvider provider) |
|
protected JsonSerializer<java.lang.Object> |
_findAndAddDynamic(PropertySerializerMap map,
JavaType type,
SerializerProvider provider) |
|
JsonNode |
getSchema(SerializerProvider provider,
java.lang.reflect.Type typeHint) |
Note: since Jackson 1.9, default implementation claims type is "string"
|
void |
resolve(SerializerProvider provider) |
Need to get callback to resolve value serializer, if static typing
is used (either being forced, or because value type is final)
|
void |
serialize(T value,
JsonGenerator jgen,
SerializerProvider provider) |
Method that can be called to ask implementation to serialize
values of type this serializer handles.
|
protected abstract void |
serializeContents(T value,
JsonGenerator jgen,
SerializerProvider provider) |
|
void |
serializeWithType(T value,
JsonGenerator jgen,
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.
|
_withValueTypeSerializer, withValueTypeSerializerisUnwrappingSerializer, unwrappingSerializerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow, wrapAndThrow, wrapAndThrowprotected final boolean _staticTyping
protected final JavaType _elementType
protected final TypeSerializer _valueTypeSerializer
protected JsonSerializer<java.lang.Object> _elementSerializer
protected final BeanProperty _property
protected PropertySerializerMap _dynamicSerializers
@Deprecated
protected AsArraySerializerBase(java.lang.Class<?> cls,
JavaType et,
boolean staticTyping,
TypeSerializer vts,
BeanProperty property)
protected AsArraySerializerBase(java.lang.Class<?> cls,
JavaType et,
boolean staticTyping,
TypeSerializer vts,
BeanProperty property,
JsonSerializer<java.lang.Object> elementSerializer)
public final void serialize(T value, JsonGenerator jgen, SerializerProvider provider) throws java.io.IOException, JsonGenerationException
JsonSerializerserialize in class SerializerBase<T>value - Value to serialize; can not be null.jgen - Generator used to output resulting Json contentprovider - Provider that can be used to get serializers for
serializing Objects value contains, if any.java.io.IOExceptionJsonGenerationExceptionpublic final void serializeWithType(T value, JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer) throws java.io.IOException, JsonGenerationException
JsonSerializer
Default implementation will ignore serialization of type information,
and just calls JsonSerializer.serialize(T, org.codehaus.jackson.JsonGenerator, org.codehaus.jackson.map.SerializerProvider): serializers that can embed
type information should override this to implement actual handling.
Most common such handling is done by something like:
// note: method to call depends on whether this type is serialized as JSON scalar, object or Array! typeSer.writeTypePrefixForScalar(value, jgen); serialize(value, jgen, provider); typeSer.writeTypeSuffixForScalar(value, jgen);
serializeWithType in class JsonSerializer<T>value - Value to serialize; can not be null.jgen - 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 informationjava.io.IOExceptionJsonGenerationExceptionprotected abstract void serializeContents(T value, JsonGenerator jgen, SerializerProvider provider) throws java.io.IOException, JsonGenerationException
java.io.IOExceptionJsonGenerationExceptionpublic JsonNode getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint) throws JsonMappingException
SerializerBasegetSchema in interface SchemaAwaregetSchema in class SerializerBase<T>provider - The serializer provider.typeHint - A hint about the type.JsonMappingExceptionpublic void resolve(SerializerProvider provider) throws JsonMappingException
resolve in interface ResolvableSerializerprovider - Provider that has constructed serializer this method
is called on.JsonMappingExceptionprotected final JsonSerializer<java.lang.Object> _findAndAddDynamic(PropertySerializerMap map, java.lang.Class<?> type, SerializerProvider provider) throws JsonMappingException
JsonMappingExceptionprotected final JsonSerializer<java.lang.Object> _findAndAddDynamic(PropertySerializerMap map, JavaType type, SerializerProvider provider) throws JsonMappingException
JsonMappingException