com.fasterxml.jackson.databind.ser.std
Class ToStringSerializer

java.lang.Object
  extended by com.fasterxml.jackson.databind.JsonSerializer<T>
      extended by com.fasterxml.jackson.databind.ser.std.StdSerializer<Object>
          extended by com.fasterxml.jackson.databind.ser.std.ToStringSerializer
All Implemented Interfaces:
SchemaAware

public class ToStringSerializer
extends StdSerializer<Object>

Simple general purpose serializer, useful for any type for which Object.toString() returns the desired JSON value.


Nested Class Summary
 
Nested classes/interfaces inherited from class com.fasterxml.jackson.databind.JsonSerializer
JsonSerializer.None
 
Field Summary
static ToStringSerializer instance
          Singleton instance to use.
 
Fields inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
_handledType
 
Constructor Summary
ToStringSerializer()
           Note: usually you should NOT create new instances, but instead use instance which is stateless and fully thread-safe.
 
Method Summary
 JsonNode getSchema(SerializerProvider provider, Type typeHint)
          Default implementation simply claims type is "string"; usually overriden by custom serializers.
 boolean isEmpty(Object value)
          Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).
 void serialize(Object 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 serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)
          Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix.
 
Methods inherited from class com.fasterxml.jackson.databind.ser.std.StdSerializer
createObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow
 
Methods inherited from class com.fasterxml.jackson.databind.JsonSerializer
isUnwrappingSerializer, unwrappingSerializer, usesObjectId
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

instance

public static final ToStringSerializer instance
Singleton instance to use.

Constructor Detail

ToStringSerializer

public ToStringSerializer()

Note: usually you should NOT create new instances, but instead use instance which is stateless and fully thread-safe. However, there are cases where constructor is needed; for example, when using explicit serializer annotations like JsonSerialize.using().

Method Detail

isEmpty

public boolean isEmpty(Object value)
Description copied from class: JsonSerializer
Method called to check whether given serializable value is considered "empty" value (for purposes of suppressing serialization of empty values).

Default implementation will consider only null values to be empty.

Overrides:
isEmpty in class JsonSerializer<Object>

serialize

public void serialize(Object value,
                      com.fasterxml.jackson.core.JsonGenerator jgen,
                      SerializerProvider provider)
               throws IOException,
                      com.fasterxml.jackson.core.JsonGenerationException
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 class StdSerializer<Object>
Parameters:
value - Value to serialize; can not be null.
jgen - Generator used to output resulting Json content
provider - Provider that can be used to get serializers for serializing Objects value contains, if any.
Throws:
IOException
com.fasterxml.jackson.core.JsonGenerationException

serializeWithType

public void serializeWithType(Object value,
                              com.fasterxml.jackson.core.JsonGenerator jgen,
                              SerializerProvider provider,
                              TypeSerializer typeSer)
                       throws IOException,
                              com.fasterxml.jackson.core.JsonGenerationException
Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix. This should work for most cases; some sub-classes may want to change this behavior.

Overrides:
serializeWithType in class JsonSerializer<Object>
Parameters:
value - Value to serialize; can not be null.
jgen - Generator used to output resulting Json content
provider - 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
com.fasterxml.jackson.core.JsonGenerationException

getSchema

public JsonNode getSchema(SerializerProvider provider,
                          Type typeHint)
                   throws JsonMappingException
Description copied from class: StdSerializer
Default implementation simply claims type is "string"; usually overriden by custom serializers.

Specified by:
getSchema in interface SchemaAware
Overrides:
getSchema in class StdSerializer<Object>
Parameters:
provider - The serializer provider.
typeHint - A hint about the type.
Returns:
Json-schema for this serializer.
Throws:
JsonMappingException


Copyright © 2012 fasterxml.com. All Rights Reserved.