public abstract class StdSerializer<T> extends JsonSerializer<T> implements JsonFormatVisitable, SchemaAware, Serializable
SchemaAware
JsonSerializer.None
Modifier and Type | Field and Description |
---|---|
protected Class<T> |
_handledType
Nominal type supported, usually declared type of
property for which serializer is used.
|
Modifier | Constructor and Description |
---|---|
protected |
StdSerializer(Class<?> t,
boolean dummy)
Alternate constructor that is (alas!) needed to work
around kinks of generic type handling
|
protected |
StdSerializer(Class<T> t) |
protected |
StdSerializer(JavaType type) |
protected |
StdSerializer(StdSerializer<?> src) |
Modifier and Type | Method and Description |
---|---|
void |
acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor,
JavaType typeHint)
Default implementation specifies no format.
|
protected ObjectNode |
createObjectNode() |
protected ObjectNode |
createSchemaNode(String type) |
protected ObjectNode |
createSchemaNode(String type,
boolean isOptional) |
protected JsonSerializer<?> |
findConvertingContentSerializer(SerializerProvider provider,
BeanProperty prop,
JsonSerializer<?> existingSerializer)
Helper method that can be used to see if specified property has annotation
indicating that a converter is to be used for contained values (contents
of structured types; array/List/Map values)
|
protected PropertyFilter |
findPropertyFilter(SerializerProvider provider,
Object filterId,
Object valueToFilter)
Helper method used to locate filter that is needed, based on filter id
this serializer was constructed with.
|
JsonNode |
getSchema(SerializerProvider provider,
Type typeHint)
Default implementation simply claims type is "string"; usually
overriden by custom serializers.
|
JsonNode |
getSchema(SerializerProvider provider,
Type typeHint,
boolean isOptional)
Default implementation simply claims type is "string"; usually
overriden by custom serializers.
|
Class<T> |
handledType()
Method for accessing type of Objects this serializer can handle.
|
protected boolean |
isDefaultSerializer(JsonSerializer<?> serializer)
Method that can be called to determine if given serializer is the default
serializer Jackson uses; as opposed to a custom serializer installed by
a module or calling application.
|
abstract void |
serialize(T value,
com.fasterxml.jackson.core.JsonGenerator gen,
SerializerProvider provider)
Method that can be called to ask implementation to serialize
values of type this serializer handles.
|
void |
wrapAndThrow(SerializerProvider provider,
Throwable t,
Object bean,
int index) |
void |
wrapAndThrow(SerializerProvider provider,
Throwable t,
Object bean,
String fieldName)
Method that will modify caught exception (passed in as argument)
as necessary to include reference information, and to ensure it
is a subtype of
IOException , or an unchecked exception. |
getDelegatee, isEmpty, isEmpty, isUnwrappingSerializer, properties, replaceDelegatee, serializeWithType, unwrappingSerializer, usesObjectId, withFilterId
protected StdSerializer(JavaType type)
protected StdSerializer(Class<?> t, boolean dummy)
protected StdSerializer(StdSerializer<?> src)
public Class<T> handledType()
JsonSerializer
Default implementation will return null, which essentially means
same as returning Object.class
would; that is, that
nothing is known about handled type.
handledType
in class JsonSerializer<T>
public abstract void serialize(T value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider) throws IOException
JsonSerializer
serialize
in class JsonSerializer<T>
value
- Value to serialize; can not be null.gen
- Generator used to output resulting Json contentprovider
- Provider that can be used to get serializers for
serializing Objects value contains, if any.IOException
public JsonNode getSchema(SerializerProvider provider, Type typeHint) throws JsonMappingException
getSchema
in interface SchemaAware
provider
- The serializer provider.typeHint
- A hint about the type.JsonMappingException
public JsonNode getSchema(SerializerProvider provider, Type typeHint, boolean isOptional) throws JsonMappingException
getSchema
in interface SchemaAware
provider
- The serializer provider.typeHint
- A hint about the type.isOptional
- Is the type optionalJsonMappingException
protected ObjectNode createObjectNode()
protected ObjectNode createSchemaNode(String type)
protected ObjectNode createSchemaNode(String type, boolean isOptional)
public void acceptJsonFormatVisitor(JsonFormatVisitorWrapper visitor, JavaType typeHint) throws JsonMappingException
acceptJsonFormatVisitor
in interface JsonFormatVisitable
acceptJsonFormatVisitor
in class JsonSerializer<T>
typeHint
- Type of element (entity like property) being visitedJsonMappingException
public void wrapAndThrow(SerializerProvider provider, Throwable t, Object bean, String fieldName) throws IOException
IOException
, or an unchecked exception.
Rules for wrapping and unwrapping are bit complicated; essentially:
JsonMappingException
are to be passed as is
IOException
public void wrapAndThrow(SerializerProvider provider, Throwable t, Object bean, int index) throws IOException
IOException
protected boolean isDefaultSerializer(JsonSerializer<?> serializer)
JacksonStdImpl
annotation on serializer class.protected JsonSerializer<?> findConvertingContentSerializer(SerializerProvider provider, BeanProperty prop, JsonSerializer<?> existingSerializer) throws JsonMappingException
existingSerializer
- (optional) configured content
serializer if one already exists.JsonMappingException
protected PropertyFilter findPropertyFilter(SerializerProvider provider, Object filterId, Object valueToFilter) throws JsonMappingException
JsonMappingException
Copyright © 2014–2015 FasterXML. All rights reserved.