|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.fasterxml.jackson.databind.JsonSerializer<T> com.fasterxml.jackson.databind.ser.std.StdSerializer<T>
public abstract class StdSerializer<T>
Base class used by all standard serializers, and can also
be used for custom serializers (in fact, this is the recommended
base class to use).
Provides convenience methods for implementing SchemaAware
Nested Class Summary |
---|
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer |
---|
JsonSerializer.None |
Field Summary | |
---|---|
protected Class<T> |
_handledType
Nominal type supported, usually declared type of property for which serializer is used. |
Constructor Summary | |
---|---|
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)
|
Method Summary | |
---|---|
protected ObjectNode |
createObjectNode()
|
protected ObjectNode |
createSchemaNode(String type)
|
protected ObjectNode |
createSchemaNode(String type,
boolean isOptional)
|
JsonNode |
getSchema(SerializerProvider provider,
Type typeHint)
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 jgen,
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. |
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer |
---|
isEmpty, isUnwrappingSerializer, serializeWithType, unwrappingSerializer, usesObjectId |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final Class<T> _handledType
Constructor Detail |
---|
protected StdSerializer(Class<T> t)
protected StdSerializer(JavaType type)
protected StdSerializer(Class<?> t, boolean dummy)
Method Detail |
---|
public final 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 jgen, SerializerProvider provider) throws IOException, com.fasterxml.jackson.core.JsonGenerationException
JsonSerializer
serialize
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.
IOException
com.fasterxml.jackson.core.JsonGenerationException
public JsonNode getSchema(SerializerProvider provider, Type typeHint) throws JsonMappingException
getSchema
in interface SchemaAware
provider
- The serializer provider.typeHint
- A hint about the type.
JsonMappingException
protected ObjectNode createObjectNode()
protected ObjectNode createSchemaNode(String type)
protected ObjectNode createSchemaNode(String type, boolean isOptional)
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.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |