Class TypeSerializerBase
- java.lang.Object
-
- com.fasterxml.jackson.databind.jsontype.TypeSerializer
-
- com.fasterxml.jackson.databind.jsontype.impl.TypeSerializerBase
-
- Direct Known Subclasses:
AsArrayTypeSerializer,AsDeductionTypeSerializer,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.StringgetPropertyName()Name of property that contains type information, if property-based inclusion is used.TypeIdResolvergetTypeIdResolver()Accessor for object that handles conversions between types and matching type ids.abstract JsonTypeInfo.AsgetTypeInclusion()Accessor for type information inclusion method that serializer uses; indicates how type information is embedded in resulting JSON.WritableTypeIdwriteTypePrefix(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.WritableTypeIdwriteTypeSuffix(JsonGenerator g, WritableTypeId idMetadata)Method that should be called afterTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)and matching value write have been called, passingWritableTypeIdreturned.-
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:TypeSerializerAccessor for type information inclusion method that serializer uses; indicates how type information is embedded in resulting JSON.- Specified by:
getTypeInclusionin classTypeSerializer
-
getPropertyName
public java.lang.String getPropertyName()
Description copied from class:TypeSerializerName of property that contains type information, if property-based inclusion is used.- Specified by:
getPropertyNamein classTypeSerializer
-
getTypeIdResolver
public TypeIdResolver getTypeIdResolver()
Description copied from class:TypeSerializerAccessor for object that handles conversions between types and matching type ids.- Specified by:
getTypeIdResolverin classTypeSerializer
-
writeTypePrefix
public WritableTypeId writeTypePrefix(JsonGenerator g, WritableTypeId idMetadata) throws java.io.IOException
Description copied from class:TypeSerializerMethod 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:
writeTypePrefixin 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:TypeSerializerMethod that should be called afterTypeSerializer.writeTypePrefix(JsonGenerator, WritableTypeId)and matching value write have been called, passingWritableTypeIdreturned. 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:
writeTypeSuffixin classTypeSerializer- Throws:
java.io.IOException
-
-