## Uses of Class
com.fasterxml.jackson.databind.jsontype.TypeSerializer

Packages that use TypeSerializer
com.fasterxml.jackson.databind: Basic data binding (mapping) functionality that allows for reading JSON content into Java Objects (POJOs) and JSON Trees (`JsonNode`), as well as writing Java Objects and trees as JSON.
com.fasterxml.jackson.databind.ext: Contains extended support for "external" packages: things that may or may not be present in runtime environment, but that are commonly enough used so that explicit support can be added.
com.fasterxml.jackson.databind.jsontype: Package that contains interfaces that define how to implement functionality for dynamically resolving type during deserialization.
com.fasterxml.jackson.databind.jsontype.impl: Package that contains standard implementations for `TypeResolverBuilder` and `TypeIdResolver`.
com.fasterxml.jackson.databind.module: Package that contains classes and interfaces to help implement custom extension `Module`s (which are registered using `ObjectMapper.registerModule(com.fasterxml.jackson.databind.Module)`.
com.fasterxml.jackson.databind.node: Contains concrete `JsonNode` implementations Jackson uses for the Tree model.
com.fasterxml.jackson.databind.ser: Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.impl: Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.std
com.fasterxml.jackson.databind.type: Package that contains concrete implementations of `JavaType`, as well as the factory (`TypeFactory`) for constructing instances from various input data types (like `Class`, `Type`) and programmatically (for structured types, arrays, `List`s and `Map`s).
com.fasterxml.jackson.databind.util: Utility classes for Mapper package.

### Uses of TypeSerializer in com.fasterxml.jackson.databind

Fields in com.fasterxml.jackson.databind declared as TypeSerializer
`protected TypeSerializer` SequenceWriter.`_typeSerializer`

Methods in com.fasterxml.jackson.databind that return TypeSerializer
`TypeSerializer` ObjectMapper.DefaultTypeResolverBuilder.`buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes)`
`TypeSerializer` SerializerProvider.`findTypeSerializer(JavaType javaType)` Method called to get the `TypeSerializer` to use for including Type Id necessary for serializing for the given Java class.
`TypeSerializer` ObjectWriter.Prefetch.`getTypeSerializer()`

Methods in com.fasterxml.jackson.databind with parameters of type TypeSerializer
`void` JsonSerializable.`serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)` Serialization method called when additional type information is expected to be included in serialization, for deserialization to use.
`void` JsonSerializer.`serializeWithType(T value, JsonGenerator gen, SerializerProvider serializers, 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.

### Uses of TypeSerializer in com.fasterxml.jackson.databind.ext

Methods in com.fasterxml.jackson.databind.ext with parameters of type TypeSerializer
`void` NioPathSerializer.`serializeWithType(Path value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` CoreXMLSerializers.XMLGregorianCalendarSerializer.`serializeWithType(XMLGregorianCalendar value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.jsontype

Methods in com.fasterxml.jackson.databind.jsontype that return TypeSerializer
`TypeSerializer` TypeResolverBuilder.`buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes)` Method for building type serializer based on current configuration of this builder.
`abstract TypeSerializer` TypeSerializer.`forProperty(BeanProperty prop)` Method called to create contextual version, to be used for values of given property.

### Uses of TypeSerializer in com.fasterxml.jackson.databind.jsontype.impl

Subclasses of TypeSerializer in com.fasterxml.jackson.databind.jsontype.impl
`class` `AsArrayTypeSerializer` Type serializer that will embed type information in an array, as the first element, and actual value as the second element.
`class` `AsExistingPropertyTypeSerializer` Type serializer used with `JsonTypeInfo.As.EXISTING_PROPERTY` inclusion mechanism.
`class` `AsExternalTypeSerializer` Type serializer that preferably embeds type information as an "external" type property; embedded in enclosing JSON object.
`class` `AsPropertyTypeSerializer` Type serializer that preferably embeds type information as an additional JSON Object property, if possible (when resulting serialization would use JSON Object).
`class` `AsWrapperTypeSerializer` Type wrapper that tries to use an extra JSON Object, with a single entry that has type name as key, to serialize type information.
`class` `TypeSerializerBase`

Methods in com.fasterxml.jackson.databind.jsontype.impl that return TypeSerializer
`TypeSerializer` StdTypeResolverBuilder.`buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.module

Methods in com.fasterxml.jackson.databind.module with parameters of type TypeSerializer
`JsonSerializer<?>` SimpleSerializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` SimpleSerializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` SimpleSerializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` SimpleSerializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` SimpleSerializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.node

Methods in com.fasterxml.jackson.databind.node with parameters of type TypeSerializer
`void` ArrayNode.`serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` ValueNode.`serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`abstract void` BaseJsonNode.`serializeWithType(JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)` Type information is needed, even if JsonNode instances are "plain" JSON, since they may be mixed with other types.
`void` ObjectNode.`serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` MissingNode.`serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.ser

Fields in com.fasterxml.jackson.databind.ser declared as TypeSerializer
`protected TypeSerializer` BeanPropertyWriter.`_typeSerializer` If property being serialized needs type information to be included this is the type serializer to use.

Methods in com.fasterxml.jackson.databind.ser that return TypeSerializer
`abstract TypeSerializer` SerializerFactory.`createTypeSerializer(SerializationConfig config, JavaType baseType)` Method called to create a type information serializer for given base type, if one is needed.
`TypeSerializer` BasicSerializerFactory.`createTypeSerializer(SerializationConfig config, JavaType baseType)` Method called to construct a type serializer for values with given declared base type.
`TypeSerializer` BeanSerializerFactory.`findPropertyContentTypeSerializer(JavaType containerType, SerializationConfig config, AnnotatedMember accessor)` Method called to create a type information serializer for values of given container property if one is needed.
`TypeSerializer` BeanSerializerFactory.`findPropertyTypeSerializer(JavaType baseType, SerializationConfig config, AnnotatedMember accessor)` Method called to create a type information serializer for values of given non-container property if one is needed.
`TypeSerializer` BeanPropertyWriter.`getTypeSerializer()`

Methods in com.fasterxml.jackson.databind.ser with parameters of type TypeSerializer
`protected abstract ContainerSerializer<?>` ContainerSerializer.`_withValueTypeSerializer(TypeSerializer vts)` Method that needs to be implemented to allow construction of a new serializer object with given `TypeSerializer`, used when addition type information is to be embedded.
`void` BeanPropertyWriter.`assignTypeSerializer(TypeSerializer typeSer)` Method called to set, reset or clear the configured type serializer for property.
`protected JsonSerializer<?>` BasicSerializerFactory.`buildArraySerializer(SerializerProvider prov, ArrayType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `Object[]` (and subtypes, except for String).
`protected JsonSerializer<?>` BasicSerializerFactory.`buildAtomicReferenceSerializer(SerializerProvider prov, ReferenceType refType, BeanDescription beanDesc, boolean staticTyping, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentSerializer)`
`ContainerSerializer<?>` BasicSerializerFactory.`buildCollectionSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)`
`protected JsonSerializer<?>` BasicSerializerFactory.`buildCollectionSerializer(SerializerProvider prov, CollectionType type, BeanDescription beanDesc, boolean staticTyping, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `List` types that support efficient by-index access
`ContainerSerializer<?>` BasicSerializerFactory.`buildIndexedListSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)`
`protected JsonSerializer<?>` BasicSerializerFactory.`buildMapSerializer(SerializerProvider prov, MapType type, BeanDescription beanDesc, boolean staticTyping, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Helper method that handles configuration details when constructing serializers for `Map` types.
`protected BeanPropertyWriter` PropertyBuilder.`buildWriter(SerializerProvider prov, BeanPropertyDefinition propDef, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, TypeSerializer contentTypeSer, AnnotatedMember am, boolean defaultUseStaticTyping)`
`JsonSerializer<?>` Serializers.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified array type.
`JsonSerializer<?>` Serializers.Base.`findArraySerializer(SerializationConfig config, ArrayType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`

`JsonSerializer<?>`

Serializers.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
Method called by serialization framework first time a serializer is needed for specified "Collection-like" type (type that acts like `Collection`, but does not implement it).

`JsonSerializer<?>` Serializers.Base.`findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` Serializers.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified `Collection` type.
`JsonSerializer<?>` Serializers.Base.`findCollectionSerializer(SerializationConfig config, CollectionType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`

`JsonSerializer<?>`

Serializers.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
Method called by serialization framework first time a serializer is needed for specified "Map-like" type (type that acts like `Map`, but does not implement it).

`JsonSerializer<?>` Serializers.Base.`findMapLikeSerializer(SerializationConfig config, MapLikeType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` Serializers.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)` Method called by serialization framework first time a serializer is needed for specified `Map` type.
`JsonSerializer<?>` Serializers.Base.`findMapSerializer(SerializationConfig config, MapType type, BeanDescription beanDesc, JsonSerializer<Object> keySerializer, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer)`
`JsonSerializer<?>` Serializers.`findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer)` Method called by serialization framework first time a serializer is needed for given `ReferenceType`
`JsonSerializer<?>` Serializers.Base.`findReferenceSerializer(SerializationConfig config, ReferenceType type, BeanDescription beanDesc, TypeSerializer contentTypeSerializer, JsonSerializer<Object> contentValueSerializer)`
`void` DefaultSerializerProvider.`serializePolymorphic(JsonGenerator gen, Object value, JavaType rootType, JsonSerializer<Object> valueSer, TypeSerializer typeSer)` Alternate serialization call used for polymorphic types, when `TypeSerializer` is already known, but the actual serializer may or may not be.
`protected boolean` BasicSerializerFactory.`usesStaticTyping(SerializationConfig config, BeanDescription beanDesc, TypeSerializer typeSer)` Helper method to check whether global settings and/or class annotations for the bean class indicate that static typing (declared types) should be used for properties.
`ContainerSerializer<?>` ContainerSerializer.`withValueTypeSerializer(TypeSerializer vts)` Factory(-like) method that can be used to construct a new container serializer that uses specified `TypeSerializer` for decorating contained values with additional type information.

Constructors in com.fasterxml.jackson.databind.ser with parameters of type TypeSerializer
Constructor and Description
`BeanPropertyWriter(BeanPropertyDefinition propDef, AnnotatedMember member, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, boolean suppressNulls, Object suppressableValue)` Deprecated.
`BeanPropertyWriter(BeanPropertyDefinition propDef, AnnotatedMember member, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, boolean suppressNulls, Object suppressableValue, Class<?>[] includeInViews)`
`VirtualBeanPropertyWriter(BeanPropertyDefinition propDef, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, JsonInclude.Value inclusion)` Deprecated.
`VirtualBeanPropertyWriter(BeanPropertyDefinition propDef, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, JsonInclude.Value inclusion, Class<?>[] includeInViews)` Pass-through constructor that may be used by sub-classes that want full control over implementation.

### Uses of TypeSerializer in com.fasterxml.jackson.databind.ser.impl

Fields in com.fasterxml.jackson.databind.ser.impl declared as TypeSerializer
`protected TypeSerializer` TypeWrappedSerializer.`_typeSerializer`
`protected TypeSerializer` MapEntrySerializer.`_valueTypeSerializer` Type identifier serializer used for values, if any.

Methods in com.fasterxml.jackson.databind.ser.impl that return TypeSerializer
`TypeSerializer` TypeWrappedSerializer.`typeSerializer()`

Methods in com.fasterxml.jackson.databind.ser.impl with parameters of type TypeSerializer
`ContainerSerializer<?>` IteratorSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`ContainerSerializer<?>` IndexedListSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`ContainerSerializer<?>` StringArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Strings never add type info; hence, even if type serializer is suggested, we'll ignore it...
`ContainerSerializer<?>` MapEntrySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`void` StringCollectionSerializer.`serializeWithType(Collection<String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` IndexedStringListSerializer.`serializeWithType(List<String> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` MapEntrySerializer.`serializeWithType(Map.Entry<?,?> value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` UnknownSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` BeanAsArraySerializer.`serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` UnwrappingBeanSerializer.`serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` TypeWrappedSerializer.`serializeWithType(Object value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`IteratorSerializer` IteratorSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`IndexedListSerializer` IndexedListSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`

Constructors in com.fasterxml.jackson.databind.ser.impl with parameters of type TypeSerializer
Constructor and Description
`IndexedListSerializer(IndexedListSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
`IndexedListSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)`
`IteratorSerializer(IteratorSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
`IteratorSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts)`
`MapEntrySerializer(JavaType type, JavaType keyType, JavaType valueType, boolean staticTyping, TypeSerializer vts, BeanProperty property)`
`MapEntrySerializer(MapEntrySerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> keySer, JsonSerializer<?> valueSer)` Deprecated.
`MapEntrySerializer(MapEntrySerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> keySer, JsonSerializer<?> valueSer, Object suppressableValue, boolean suppressNulls)`
`TypeWrappedSerializer(TypeSerializer typeSer, JsonSerializer<?> ser)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.ser.std

Fields in com.fasterxml.jackson.databind.ser.std declared as TypeSerializer
`protected TypeSerializer` MapProperty.`_typeSerializer`
`protected TypeSerializer` MapSerializer.`_valueTypeSerializer` Type identifier serializer used for values, if any.
`protected TypeSerializer` ReferenceTypeSerializer.`_valueTypeSerializer` Type serializer used for values, if any.
`protected TypeSerializer` AsArraySerializerBase.`_valueTypeSerializer` Type serializer used for values, if any.
`protected TypeSerializer` ObjectArraySerializer.`_valueTypeSerializer` Type serializer to use for values, if any.

Methods in com.fasterxml.jackson.databind.ser.std with parameters of type TypeSerializer
`protected void` BeanSerializerBase.`_serializeObjectId(Object bean, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer, WritableObjectId objectId)`
`protected void` BeanSerializerBase.`_serializeWithObjectId(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`protected WritableTypeId` BeanSerializerBase.`_typeIdDef(TypeSerializer typeSer, Object bean, JsonToken valueShape)`
`ContainerSerializer<?>` StdArraySerializers.TypedPrimitiveArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`ContainerSerializer<?>` StdArraySerializers.BooleanArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Booleans never add type info; hence, even if type serializer is suggested, we'll ignore it...
`ContainerSerializer<?>` StdArraySerializers.IntArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Ints never add type info; hence, even if type serializer is suggested, we'll ignore it...
`ContainerSerializer<?>` StdArraySerializers.DoubleArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Doubles never add type info; hence, even if type serializer is suggested, we'll ignore it...
`ContainerSerializer<?>` CollectionSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`MapSerializer` MapSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`EnumSetSerializer` EnumSetSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`ContainerSerializer<?>` IterableSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`ContainerSerializer<?>` ObjectArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
`static MapSerializer` MapSerializer.`construct(Set<String> ignoredEntries, JavaType mapType, boolean staticValueType, TypeSerializer vts, JsonSerializer<Object> keySerializer, JsonSerializer<Object> valueSerializer, Object filterId)`
`static MapSerializer` MapSerializer.`construct(String[] ignoredList, JavaType mapType, boolean staticValueType, TypeSerializer vts, JsonSerializer<Object> keySerializer, JsonSerializer<Object> valueSerializer, Object filterId)` Deprecated. Since 2.8 use the other overload
`void` ByteArraySerializer.`serializeWithType(byte[] value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` StdArraySerializers.CharArraySerializer.`serializeWithType(char[] value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` InetAddressSerializer.`serializeWithType(InetAddress value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` InetSocketAddressSerializer.`serializeWithType(InetSocketAddress value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` SerializableSerializer.`serializeWithType(JsonSerializable value, JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)`
`void` MapSerializer.`serializeWithType(Map<?,?> value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` NullSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)` Although this method should rarely get called, for convenience we should override it, and handle it same way as "natural" types: by serializing exactly as is, without type decorations.
`void` StringSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` ToStringSerializer.`serializeWithType(Object value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)` Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix.
`void` NumberSerializers.IntegerSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` NumberSerializers.DoubleSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` StdDelegatingSerializer.`serializeWithType(Object value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` JsonValueSerializer.`serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer0)`
`void` BooleanSerializer.`serializeWithType(Object value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` BeanSerializerBase.`serializeWithType(Object bean, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` TimeZoneSerializer.`serializeWithType(TimeZone value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` ArraySerializerBase.`serializeWithType(T value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` NonTypedScalarSerializerBase.`serializeWithType(T value, JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)` Deprecated.
`void` RawSerializer.`serializeWithType(T value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` ReferenceTypeSerializer.`serializeWithType(T ref, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` StdScalarSerializer.`serializeWithType(T value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)` Default implementation will write type prefix, call regular serialization method (since assumption is that value itself does not need JSON Array or Object start/end markers), and then write type suffix.
`abstract void` StaticListSerializerBase.`serializeWithType(T value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
`void` AsArraySerializerBase.`serializeWithType(T value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`

`void`

TokenBufferSerializer.`serializeWithType(TokenBuffer value, JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`
Implementing typed output for contents of a TokenBuffer is very tricky, since we do not know for sure what its contents might look like (or, rather, we do know when serializing, but not necessarily when deserializing!) One possibility would be to check the current token, and use that to determine if we would output JSON Array, Object or scalar value.

`AsArraySerializerBase<T>` AsArraySerializerBase.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer)` Deprecated. since 2.6: use the overloaded method that takes 'unwrapSingle'
`CollectionSerializer` CollectionSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`EnumSetSerializer` EnumSetSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`abstract AsArraySerializerBase<T>` AsArraySerializerBase.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`IterableSerializer` IterableSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`ObjectArraySerializer` ObjectArraySerializer.`withResolved(BeanProperty prop, TypeSerializer vts, JsonSerializer<?> ser, Boolean unwrapSingle)`
`protected ReferenceTypeSerializer<AtomicReference<?>>` AtomicReferenceSerializer.`withResolved(BeanProperty prop, TypeSerializer vts, JsonSerializer<?> valueSer, NameTransformer unwrapper)`
`protected abstract ReferenceTypeSerializer<T>` ReferenceTypeSerializer.`withResolved(BeanProperty prop, TypeSerializer vts, JsonSerializer<?> valueSer, NameTransformer unwrapper)` Mutant factory method called when changes are needed; should construct newly configured instance with new values as indicated.

Constructors in com.fasterxml.jackson.databind.ser.std with parameters of type TypeSerializer
Constructor and Description
`AsArraySerializerBase(AsArraySerializerBase<?> src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer)` Deprecated. since 2.6: use the overloaded method that takes 'unwrapSingle'
`AsArraySerializerBase(AsArraySerializerBase<?> src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`AsArraySerializerBase(Class<?> cls, JavaType et, boolean staticTyping, TypeSerializer vts, BeanProperty property, JsonSerializer<Object> elementSerializer)` Deprecated. Since 2.6 Use variants that either take 'src', or do NOT pass BeanProperty
`AsArraySerializerBase(Class<?> cls, JavaType et, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> elementSerializer)` Non-contextual, "blueprint" constructor typically called when the first instance is created, without knowledge of property it was used via.
`AtomicReferenceSerializer(AtomicReferenceSerializer base, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSer, NameTransformer unwrapper, Object suppressableValue, boolean suppressNulls)`
`AtomicReferenceSerializer(ReferenceType fullType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> ser)`
`CollectionSerializer(CollectionSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
`CollectionSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, BeanProperty property, JsonSerializer<Object> valueSerializer)` Deprecated. since 2.6
`CollectionSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> valueSerializer)`
`EnumSetSerializer(EnumSetSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
`IterableSerializer(IterableSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
`IterableSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts)`
`MapProperty(TypeSerializer typeSer, BeanProperty prop)`
`MapSerializer(MapSerializer src, TypeSerializer vts, Object suppressableValue)` Deprecated. // since 2.9
`MapSerializer(MapSerializer src, TypeSerializer vts, Object suppressableValue, boolean suppressNulls)`
`MapSerializer(Set<String> ignoredEntries, JavaType keyType, JavaType valueType, boolean valueTypeIsStatic, TypeSerializer vts, JsonSerializer<?> keySerializer, JsonSerializer<?> valueSerializer)`
`ObjectArraySerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> elementSerializer)`
`ObjectArraySerializer(ObjectArraySerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
`ObjectArraySerializer(ObjectArraySerializer src, TypeSerializer vts)`
`ReferenceTypeSerializer(ReferenceType fullType, boolean staticTyping, TypeSerializer vts, JsonSerializer<Object> ser)`
`ReferenceTypeSerializer(ReferenceTypeSerializer<?> base, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSer, NameTransformer unwrapper, Object suppressableValue, boolean suppressNulls)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.type

Methods in com.fasterxml.jackson.databind.type with parameters of type TypeSerializer
`void` TypeBase.`serializeWithType(JsonGenerator g, SerializerProvider provider, TypeSerializer typeSer)`

### Uses of TypeSerializer in com.fasterxml.jackson.databind.util

Methods in com.fasterxml.jackson.databind.util with parameters of type TypeSerializer
`void` RawValue.`serializeWithType(JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)`
`void` JSONPObject.`serializeWithType(JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
`void` JSONWrappedObject.`serializeWithType(JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`