public abstract class TypeSerializer
extends java.lang.Object
JsonSerializers using proper contextual
calls, to add type information using mechanism type serializer was
configured with.
NOTE: version 2.9 contains significant attempt at simplifying interface,
as well as giving format implementation (via JsonGenerator) more
control over actual serialization details.
| Constructor and Description |
|---|
TypeSerializer() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
_writeLegacySuffix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId)
Helper method needed for backwards compatibility: since original type id
can not be routed through completely, we have to reverse-engineer likely
setting before calling suffix.
|
abstract TypeSerializer |
forProperty(BeanProperty prop)
Method called to create contextual version, to be used for
values of given property.
|
abstract java.lang.String |
getPropertyName()
Name of property that contains type information, if
property-based inclusion is used.
|
abstract TypeIdResolver |
getTypeIdResolver()
Accessor for object that handles conversions between
types and matching type ids.
|
abstract com.fasterxml.jackson.annotation.JsonTypeInfo.As |
getTypeInclusion()
Accessor for type information inclusion method
that serializer uses; indicates how type information
is embedded in resulting JSON.
|
com.fasterxml.jackson.core.type.WritableTypeId |
typeId(java.lang.Object value,
java.lang.Class<?> typeForId,
com.fasterxml.jackson.core.JsonToken valueShape) |
com.fasterxml.jackson.core.type.WritableTypeId |
typeId(java.lang.Object value,
com.fasterxml.jackson.core.JsonToken valueShape)
Factory method for constructing type id value object to pass to
writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId). |
com.fasterxml.jackson.core.type.WritableTypeId |
typeId(java.lang.Object value,
com.fasterxml.jackson.core.JsonToken valueShape,
java.lang.Object id) |
void |
writeCustomTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
void |
writeCustomTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
void |
writeCustomTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
void |
writeCustomTypeSuffixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
void |
writeCustomTypeSuffixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
void |
writeCustomTypeSuffixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
Deprecated.
|
abstract com.fasterxml.jackson.core.type.WritableTypeId |
writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId)
Method called to write initial part of type information for given
value, along with possible wrapping to use: details are specified
by `typeId` argument.
|
void |
writeTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
void |
writeTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
Deprecated.
|
void |
writeTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
void |
writeTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
Deprecated.
|
void |
writeTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
void |
writeTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
Deprecated.
|
abstract com.fasterxml.jackson.core.type.WritableTypeId |
writeTypeSuffix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId) |
void |
writeTypeSuffixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
void |
writeTypeSuffixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
void |
writeTypeSuffixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
Deprecated.
|
public abstract TypeSerializer forProperty(BeanProperty prop)
Collection or Map
valued properties).public abstract com.fasterxml.jackson.annotation.JsonTypeInfo.As getTypeInclusion()
public abstract java.lang.String getPropertyName()
public abstract TypeIdResolver getTypeIdResolver()
public com.fasterxml.jackson.core.type.WritableTypeId typeId(java.lang.Object value,
com.fasterxml.jackson.core.JsonToken valueShape)
writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.core.type.WritableTypeId).public com.fasterxml.jackson.core.type.WritableTypeId typeId(java.lang.Object value,
com.fasterxml.jackson.core.JsonToken valueShape,
java.lang.Object id)
public com.fasterxml.jackson.core.type.WritableTypeId typeId(java.lang.Object value,
java.lang.Class<?> typeForId,
com.fasterxml.jackson.core.JsonToken valueShape)
public abstract com.fasterxml.jackson.core.type.WritableTypeId writeTypePrefix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId)
throws java.io.IOException
g - Generator to use for outputting type id and possible wrappingtypeId - Details of what type id is to be written, how.java.io.IOExceptionpublic abstract com.fasterxml.jackson.core.type.WritableTypeId writeTypeSuffix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
value - Value that will be serialized, for which type information is
to be writteng - Generator to use for writing type informationjava.io.IOException@Deprecated
public void writeTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
value - Value that will be serialized, for which type information is
to be writteng - Generator to use for writing type informationjava.io.IOException@Deprecated
public void writeTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
value - Value that will be serialized, for which type information is
to be writteng - Generator to use for writing type informationjava.io.IOException@Deprecated
public void writeTypeSuffixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
writeTypePrefixForScalar(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator).
Actual action to take may depend on various factors, but has to match with
action writeTypePrefixForScalar(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator) did (close array or object; or do nothing).java.io.IOException@Deprecated
public void writeTypeSuffixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
writeTypePrefixForObject(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator).
It needs to write closing END_OBJECT marker, and any other decoration
that needs to be matched.java.io.IOException@Deprecated
public void writeTypeSuffixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g)
throws java.io.IOException
writeTypeSuffixForScalar(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator).
It needs to write closing END_ARRAY marker, and any other decoration
that needs to be matched.java.io.IOException@Deprecated
public void writeTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.Class<?> type)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypePrefixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypePrefixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypePrefixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypeSuffixForScalar(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypeSuffixForObject(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOException@Deprecated
public void writeCustomTypeSuffixForArray(java.lang.Object value,
com.fasterxml.jackson.core.JsonGenerator g,
java.lang.String typeId)
throws java.io.IOException
java.io.IOExceptionprotected final void _writeLegacySuffix(com.fasterxml.jackson.core.JsonGenerator g,
com.fasterxml.jackson.core.type.WritableTypeId typeId)
throws java.io.IOException
java.io.IOException