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

- Packages that use TypeSerializer
  Package | Description
  --- | ---
  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
    Modifier and Type | Field and Description
    --- | ---
    `protected TypeSerializer` | SequenceWriter.`_typeSerializer`

    Methods in com.fasterxml.jackson.databind that return TypeSerializer
    Modifier and Type | Method and Description
    --- | ---
    `TypeSerializer` | ObjectMapper.DefaultTypeResolverBuilder.`buildTypeSerializer(SerializationConfig config, JavaType baseType, Collection<NamedType> subtypes)`
    `TypeSerializer` | SerializerProvider.`findTypeSerializer(JavaType javaType)` Method called to get a Typeserialize to use for accessing Type Information for a given Java class Useful for schema generators.
    `TypeSerializer` | ObjectWriter.Prefetch.`getTypeSerializer()`

    Methods in com.fasterxml.jackson.databind with parameters of type TypeSerializer
    Modifier and Type | Method and Description
    --- | ---
    `void` | JsonSerializable.`serializeWithType(com.fasterxml.jackson.core.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, com.fasterxml.jackson.core.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
    Modifier and Type | Method and Description
    --- | ---
    `void` | CoreXMLSerializers.XMLGregorianCalendarSerializer.`serializeWithType(XMLGregorianCalendar value, com.fasterxml.jackson.core.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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Class and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `void` | ValueNode.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | ObjectNode.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | MissingNode.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider, TypeSerializer typeSer)`
    `abstract void` | BaseJsonNode.`serializeWithType(com.fasterxml.jackson.core.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` | ArrayNode.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jg, SerializerProvider provider, TypeSerializer typeSer)`

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

    Fields in com.fasterxml.jackson.databind.ser declared as TypeSerializer
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `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).
    `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)`
    `void` | DefaultSerializerProvider.`serializePolymorphic(com.fasterxml.jackson.core.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.
    `void` | DefaultSerializerProvider.`serializePolymorphic(com.fasterxml.jackson.core.JsonGenerator gen, Object value, TypeSerializer typeSer)` Deprecated. since 2.6; remove from 2.7 or later
    `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)`
    `VirtualBeanPropertyWriter(BeanPropertyDefinition propDef, Annotations contextAnnotations, JavaType declaredType, JsonSerializer<?> ser, TypeSerializer typeSer, JavaType serType, com.fasterxml.jackson.annotation.JsonInclude.Include inclusion)` 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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier and Type | Method and Description
    --- | ---
    `TypeSerializer` | TypeWrappedSerializer.`typeSerializer()`

    Methods in com.fasterxml.jackson.databind.ser.impl with parameters of type TypeSerializer
    Modifier and Type | Method and Description
    --- | ---
    `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)`
    `ContainerSerializer<?>` | IteratorSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `ContainerSerializer<?>` | IndexedListSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `void` | StringCollectionSerializer.`serializeWithType(Collection<String> value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | IndexedStringListSerializer.`serializeWithType(List<String> value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | MapEntrySerializer.`serializeWithType(Map.Entry<?,?> value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | UnwrappingBeanSerializer.`serializeWithType(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | UnknownSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | TypeWrappedSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | BeanAsArraySerializer.`serializeWithType(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, 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)`
    `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
    Modifier and Type | Field and Description
    --- | ---
    `protected TypeSerializer` | MapProperty.`_typeSerializer`
    `protected TypeSerializer` | StdArraySerializers.TypedPrimitiveArraySerializer.`_valueTypeSerializer` Type serializer to use for values, if any.
    `protected TypeSerializer` | ObjectArraySerializer.`_valueTypeSerializer` Type serializer to use for values, if any.
    `protected TypeSerializer` | MapSerializer.`_valueTypeSerializer` Type identifier serializer used for values, if any.
    `protected TypeSerializer` | EnumMapSerializer.`_valueTypeSerializer` Deprecated. Type serializer used for values, if any.
    `protected TypeSerializer` | AsArraySerializerBase.`_valueTypeSerializer` Type serializer used for values, if any.

    Methods in com.fasterxml.jackson.databind.ser.std with parameters of type TypeSerializer
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | BeanSerializerBase.`_serializeObjectId(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer, WritableObjectId objectId)`
    `protected void` | BeanSerializerBase.`_serializeWithObjectId(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `ContainerSerializer<?>` | StdArraySerializers.BooleanArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Booleans never add type info; hence, even if type serializer is suggested, we'll ignore it...
    `ContainerSerializer<?>` | StdArraySerializers.ShortArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `ContainerSerializer<?>` | StdArraySerializers.IntArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Ints never add type info; hence, even if type serializer is suggested, we'll ignore it...
    `ContainerSerializer<?>` | StdArraySerializers.LongArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `ContainerSerializer<?>` | StdArraySerializers.FloatArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `ContainerSerializer<?>` | StdArraySerializers.DoubleArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)` Doubles never add type info; hence, even if type serializer is suggested, we'll ignore it...
    `ContainerSerializer<?>` | ObjectArraySerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `MapSerializer` | MapSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `ContainerSerializer<?>` | IterableSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `EnumSetSerializer` | EnumSetSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `EnumMapSerializer` | EnumMapSerializer.`_withValueTypeSerializer(TypeSerializer vts)` Deprecated.
    `ContainerSerializer<?>` | CollectionSerializer.`_withValueTypeSerializer(TypeSerializer vts)`
    `static MapSerializer` | MapSerializer.`construct(String[] ignoredList, JavaType mapType, boolean staticValueType, TypeSerializer vts, JsonSerializer<Object> keySerializer, JsonSerializer<Object> valueSerializer, Object filterId)`
    `void` | ByteArraySerializer.`serializeWithType(byte[] value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | StdArraySerializers.CharArraySerializer.`serializeWithType(char[] value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | EnumMapSerializer.`serializeWithType(EnumMap<? extends Enum<?>,?> value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)` Deprecated.
    `void` | InetAddressSerializer.`serializeWithType(InetAddress value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | InetSocketAddressSerializer.`serializeWithType(InetSocketAddress value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | SerializableSerializer.`serializeWithType(JsonSerializable value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)`
    `void` | MapSerializer.`serializeWithType(Map<?,?> value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | ToStringSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, 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` | StdDelegatingSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | NumberSerializers.IntegerSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | NumberSerializers.DoubleSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | NullSerializer.`serializeWithType(Object value, com.fasterxml.jackson.core.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` | JsonValueSerializer.`serializeWithType(Object bean, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer0)`
    `void` | BeanSerializerBase.`serializeWithType(Object bean, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | TimeZoneSerializer.`serializeWithType(TimeZone value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | StdScalarSerializer.`serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator jgen, 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` | RawSerializer.`serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | NonTypedScalarSerializerBase.`serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | AsArraySerializerBase.`serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | ArraySerializerBase.`serializeWithType(T value, com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | TokenBufferSerializer.`serializeWithType(TokenBuffer value, com.fasterxml.jackson.core.JsonGenerator jgen, 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'
    `ObjectArraySerializer` | ObjectArraySerializer.`withResolved(BeanProperty prop, TypeSerializer vts, JsonSerializer<?> ser, Boolean unwrapSingle)`
    `IterableSerializer` | IterableSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
    `EnumSetSerializer` | EnumSetSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
    `CollectionSerializer` | CollectionSerializer.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`
    `abstract AsArraySerializerBase<T>` | AsArraySerializerBase.`withResolved(BeanProperty property, TypeSerializer vts, JsonSerializer<?> elementSerializer, Boolean unwrapSingle)`

    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.
    `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)`
    `EnumMapSerializer(JavaType valueType, boolean staticTyping, EnumValues keyEnums, TypeSerializer vts, JsonSerializer<Object> valueSerializer)` Deprecated.
    `EnumSetSerializer(EnumSetSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
    `FloatArraySerializer(StdArraySerializers.FloatArraySerializer src, BeanProperty prop, TypeSerializer vts, Boolean unwrapSingle)`
    `IterableSerializer(IterableSerializer src, BeanProperty property, TypeSerializer vts, JsonSerializer<?> valueSerializer, Boolean unwrapSingle)`
    `IterableSerializer(JavaType elemType, boolean staticTyping, TypeSerializer vts)`
    `LongArraySerializer(StdArraySerializers.LongArraySerializer src, BeanProperty prop, TypeSerializer vts, Boolean unwrapSingle)`
    `MapProperty(TypeSerializer typeSer)` Deprecated. since 2.4
    `MapProperty(TypeSerializer typeSer, BeanProperty prop)`
    `MapSerializer(HashSet<String> ignoredEntries, JavaType keyType, JavaType valueType, boolean valueTypeIsStatic, TypeSerializer vts, JsonSerializer<?> keySerializer, JsonSerializer<?> valueSerializer)`
    `MapSerializer(MapSerializer src, TypeSerializer vts)` Deprecated.
    `MapSerializer(MapSerializer src, TypeSerializer vts, Object suppressableValue)`
    `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)`
    `ShortArraySerializer(StdArraySerializers.ShortArraySerializer src, BeanProperty prop, TypeSerializer vts, Boolean unwrapSingle)`
    `TypedPrimitiveArraySerializer(StdArraySerializers.TypedPrimitiveArraySerializer<T> src, BeanProperty prop, TypeSerializer vts, Boolean unwrapSingle)`

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

    Methods in com.fasterxml.jackson.databind.type with parameters of type TypeSerializer
    Modifier and Type | Method and Description
    --- | ---
    `void` | TypeBase.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, 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
    Modifier and Type | Method and Description
    --- | ---
    `void` | RawValue.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer)`
    `void` | JSONWrappedObject.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`
    `void` | JSONPObject.`serializeWithType(com.fasterxml.jackson.core.JsonGenerator jgen, SerializerProvider provider, TypeSerializer typeSer)`

Copyright © 2014–2015 FasterXML. All rights reserved.