Class AsDeductionTypeSerializer
java.lang.Object
com.fasterxml.jackson.databind.jsontype.TypeSerializer
com.fasterxml.jackson.databind.jsontype.impl.TypeSerializerBase
com.fasterxml.jackson.databind.jsontype.impl.AsDeductionTypeSerializer
- Since:
- 2.14.2
-
Method Summary
Modifier and TypeMethodDescriptionforProperty(BeanProperty prop) Method called to create contextual version, to be used for values of given property.Accessor for type information inclusion method that serializer uses; indicates how type information is embedded in resulting JSON.static AsDeductionTypeSerializerinstance()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.writeTypeSuffix(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.impl.TypeSerializerBase
getPropertyName, getTypeIdResolverMethods inherited from class com.fasterxml.jackson.databind.jsontype.TypeSerializer
typeId, typeId, typeId, writeCustomTypePrefixForArray, writeCustomTypePrefixForObject, writeCustomTypePrefixForScalar, writeCustomTypeSuffixForArray, writeCustomTypeSuffixForObject, writeCustomTypeSuffixForScalar, writeTypePrefixForArray, writeTypePrefixForArray, writeTypePrefixForObject, writeTypePrefixForObject, writeTypePrefixForScalar, writeTypePrefixForScalar, writeTypeSuffixForArray, writeTypeSuffixForObject, writeTypeSuffixForScalar
-
Method Details
-
instance
-
forProperty
Description copied from class:TypeSerializerMethod called to create contextual version, to be used for values of given property. This may be the type itself (as is the case for bean properties), or values contained (forCollectionorMapvalued properties).- Specified by:
forPropertyin classTypeSerializer
-
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 classTypeSerializerBase
-
writeTypePrefix
public WritableTypeId writeTypePrefix(JsonGenerator g, WritableTypeId idMetadata) throws 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.- Overrides:
writeTypePrefixin classTypeSerializerBase- Parameters:
g- Generator to use for outputting type id and possible wrappingidMetadata- Details of what type id is to be written, how.- Throws:
IOException
-
writeTypeSuffix
public WritableTypeId writeTypeSuffix(JsonGenerator g, WritableTypeId idMetadata) throws 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);- Overrides:
writeTypeSuffixin classTypeSerializerBase- Throws:
IOException
-