Class TypeSerializerBase
- java.lang.Object
-
- com.fasterxml.jackson.databind.jsontype.TypeSerializer
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeSerializerBase
-
- Direct Known Subclasses:
AsArrayTypeSerializer
,AsExternalTypeSerializer
,AsWrapperTypeSerializer
public abstract class TypeSerializerBase extends TypeSerializer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description java.lang.String
getPropertyName()
Name of property that contains type information, if property-based inclusion is used.TypeIdResolver
getTypeIdResolver()
Accessor for object that handles conversions between types and matching type ids.abstract JsonTypeInfo.As
getTypeInclusion()
Accessor for type information inclusion method that serializer uses; indicates how type information is embedded in resulting JSON.WritableTypeId
writeTypePrefix(JsonGenerator g, WritableTypeId idMetadata)
Method called to write initial part of type information for given value, along with possible wrapping to use: details are specified by `typeId` argument.WritableTypeId
writeTypeSuffix(JsonGenerator g, WritableTypeId idMetadata)
Method that should be called afterTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
and matching value write have been called, passingWritableTypeId
returned.-
Methods inherited from class com.fasterxml.jackson.databind.jsontype.TypeSerializer
forProperty, typeId, typeId, typeId, writeCustomTypePrefixForArray, writeCustomTypePrefixForObject, writeCustomTypePrefixForScalar, writeCustomTypeSuffixForArray, writeCustomTypeSuffixForObject, writeCustomTypeSuffixForScalar, writeTypePrefixForArray, writeTypePrefixForArray, writeTypePrefixForObject, writeTypePrefixForObject, writeTypePrefixForScalar, writeTypePrefixForScalar, writeTypeSuffixForArray, writeTypeSuffixForObject, writeTypeSuffixForScalar
-
-
-
-
Method Detail
-
getTypeInclusion
public abstract JsonTypeInfo.As getTypeInclusion()
Description copied from class:TypeSerializer
Accessor for type information inclusion method that serializer uses; indicates how type information is embedded in resulting JSON.- Specified by:
getTypeInclusion
in classTypeSerializer
-
getPropertyName
public java.lang.String getPropertyName()
Description copied from class:TypeSerializer
Name of property that contains type information, if property-based inclusion is used.- Specified by:
getPropertyName
in classTypeSerializer
-
getTypeIdResolver
public TypeIdResolver getTypeIdResolver()
Description copied from class:TypeSerializer
Accessor for object that handles conversions between types and matching type ids.- Specified by:
getTypeIdResolver
in classTypeSerializer
-
writeTypePrefix
public WritableTypeId writeTypePrefix(JsonGenerator g, WritableTypeId idMetadata) throws java.io.IOException
Description copied from class:TypeSerializer
Method called to write initial part of type information for given value, along with possible wrapping to use: details are specified by `typeId` argument. Note that for structured types (Object, Array), this call will add necessary start token so it should NOT be explicitly written, unlike with non-type-id value writes.See
TypeSerializer.writeTypeSuffix(JsonGenerator, WritableTypeId)
for a complete example of typical usage.- Specified by:
writeTypePrefix
in classTypeSerializer
- Parameters:
g
- Generator to use for outputting type id and possible wrappingidMetadata
- Details of what type id is to be written, how.- Throws:
java.io.IOException
-
writeTypeSuffix
public WritableTypeId writeTypeSuffix(JsonGenerator g, WritableTypeId idMetadata) throws java.io.IOException
Description copied from class:TypeSerializer
Method that should be called afterTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)
and matching value write have been called, passingWritableTypeId
returned. Usual idiom is:// Indicator generator that type identifier may be needed; generator may write // one as suggested, modify information, or take some other action // NOTE! For Object/Array types, this will ALSO write start marker! WritableTypeId typeIdDef = typeSer.writeTypePrefix(gen, typeSer.typeId(value, JsonToken.START_OBJECT)); // serializing actual value for which TypeId may have been written... like // NOTE: do NOT write START_OBJECT before OR END_OBJECT after: g.writeStringField("message", "Hello, world!" // matching type suffix call to let generator chance to add suffix, if any // NOTE! For Object/Array types, this will ALSO write end marker! typeSer.writeTypeSuffix(gen, typeIdDef);
- Specified by:
writeTypeSuffix
in classTypeSerializer
- Throws:
java.io.IOException
-
-