SchemaAwareStdSerializers.SerializableWithTypeSerializerpublic class SerializableWithTypeSerializer extends SerializerBase<JsonSerializableWithType>
JsonSerializableWithType.
Note: given that this is used for anything that implements interface, can not be checked for direct class equivalence.
JsonSerializer.None| Modifier and Type | Field | Description |
|---|---|---|
static SerializableWithTypeSerializer |
instance |
_handledType| Modifier | Constructor | Description |
|---|---|---|
protected |
SerializableWithTypeSerializer() |
| Modifier and Type | Method | Description |
|---|---|---|
JsonNode |
getSchema(SerializerProvider provider,
java.lang.reflect.Type typeHint) |
Note: since Jackson 1.9, default implementation claims type is "string"
|
void |
serialize(JsonSerializableWithType value,
JsonGenerator jgen,
SerializerProvider provider) |
Method that can be called to ask implementation to serialize
values of type this serializer handles.
|
void |
serializeWithType(JsonSerializableWithType 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.
|
isUnwrappingSerializer, unwrappingSerializerclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcreateObjectNode, createSchemaNode, createSchemaNode, handledType, isDefaultSerializer, wrapAndThrow, wrapAndThrow, wrapAndThrow, wrapAndThrowpublic static final SerializableWithTypeSerializer instance
public void serialize(JsonSerializableWithType value, JsonGenerator jgen, SerializerProvider provider) throws java.io.IOException, JsonGenerationException
JsonSerializerserialize in class SerializerBase<JsonSerializableWithType>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(JsonSerializableWithType 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<JsonSerializableWithType>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.IOExceptionJsonGenerationExceptionpublic JsonNode getSchema(SerializerProvider provider, java.lang.reflect.Type typeHint) throws JsonMappingException
SerializerBasegetSchema in interface SchemaAwaregetSchema in class SerializerBase<JsonSerializableWithType>provider - The serializer provider.typeHint - A hint about the type.JsonMappingException