## Uses of Interface
com.fasterxml.jackson.databind.ser.ContextualSerializer

Packages that use ContextualSerializer
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.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

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

Classes in com.fasterxml.jackson.databind.ext that implement ContextualSerializer
`static class` `CoreXMLSerializers.XMLGregorianCalendarSerializer`

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

Classes in com.fasterxml.jackson.databind.ser that implement ContextualSerializer
`class` `BeanSerializer` Serializer class that can serialize Java objects that map to JSON Object output.

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

Classes in com.fasterxml.jackson.databind.ser.impl that implement ContextualSerializer
`class` `BeanAsArraySerializer` Specialized POJO serializer that differs from `BeanSerializer` in that instead of producing a JSON Object it will output a JSON Array, omitting field names, and serializing values in specified serialization order.
`class` `IndexedListSerializer` This is an optimized serializer for Lists that can be efficiently traversed by index (as opposed to others, such as `LinkedList` that cannot}.
`class` `IndexedStringListSerializer` Efficient implement for serializing `List`s that contains Strings and are random-accessible.
`class` `IteratorSerializer`
`class` `MapEntrySerializer`
`class` `StringArraySerializer` Standard serializer used for `String[]` values.
`class` `StringCollectionSerializer` Efficient implement for serializing `Collection`s that contain Strings.
`class` `TypeWrappedSerializer` Simple serializer that will call configured type serializer, passing in configured data serializer, and exposing it all as a simple serializer.
`class` `UnwrappingBeanSerializer`

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

Classes in com.fasterxml.jackson.databind.ser.std that implement ContextualSerializer
`class` `ArraySerializerBase<T>` Intermediate base class for serializers used for various Java arrays.
`class` `AsArraySerializerBase<T>` Base class for serializers that will output contents as JSON arrays; typically serializers used for `Collection` and array types.
`class` `AtomicReferenceSerializer`
`class` `BeanSerializerBase` Base class both for the standard bean serializer, and couple of variants that only differ in small details.
`class` `BooleanSerializer` Serializer used for primitive boolean, as well as java.util.Boolean wrapper type.
`class` `CalendarSerializer` Standard serializer for `Calendar`.
`class` `CollectionSerializer` Fallback serializer for cases where Collection is not known to be of type for which more specializer serializer exists (such as index-accessible List).
`class` `DateSerializer` For efficiency, we will serialize Dates as longs, instead of potentially more readable Strings.
`class` `DateTimeSerializerBase<T>`
`class` `EnumSerializer` Standard serializer used for `Enum` types.
`class` `EnumSetSerializer`
`class` `InetAddressSerializer` Simple serializer for `InetAddress`.
`class` `IterableSerializer`
`class` `JsonValueSerializer` Serializer class that can serialize Object that have a `JsonValue` annotation to indicate that serialization should be done by calling the method annotated, and serializing result it returns.
`class` `MapSerializer` Standard serializer implementation for serializing {link java.util.Map} types.
`class` `NumberSerializer` As a fallback, we may need to use this serializer for other types of `Number`s: both custom types and "big" numbers like `BigInteger` and `BigDecimal`.
`protected static class` `NumberSerializers.Base<T>`
`static class` `NumberSerializers.DoubleSerializer` This is the special serializer for regular `Double`s (and primitive doubles)
`static class` `NumberSerializers.FloatSerializer`
`static class` `NumberSerializers.IntegerSerializer` This is the special serializer for regular `Integer`s (and primitive ints)
`static class` `NumberSerializers.IntLikeSerializer` Similar to `NumberSerializers.IntegerSerializer`, but will not cast to Integer: instead, cast is to `Number`, and conversion is by calling `Number.intValue()`.
`static class` `NumberSerializers.LongSerializer`
`static class` `NumberSerializers.ShortSerializer`
`class` `ObjectArraySerializer` Generic serializer for Object arrays (`Object[]`).
`class` `ReferenceTypeSerializer<T>` Base implementation for values of `ReferenceType`.
`class` `SqlDateSerializer` Compared to regular `Date` serialization, we do use String representation here.
`class` `StaticListSerializerBase<T extends Collection<?>>` Intermediate base class for Lists, Collections and Arrays that contain static (non-dynamic) value types.
`static class` `StdArraySerializers.BooleanArraySerializer`
`static class` `StdArraySerializers.DoubleArraySerializer`
`static class` `StdArraySerializers.FloatArraySerializer`
`static class` `StdArraySerializers.IntArraySerializer`
`static class` `StdArraySerializers.LongArraySerializer`
`static class` `StdArraySerializers.ShortArraySerializer`
`protected static class` `StdArraySerializers.TypedPrimitiveArraySerializer<T>` Intermediate base class used for cases where we may add type information (excludes boolean/int/double arrays).
`class` `StdDelegatingSerializer` Serializer implementation where given Java type is first converted to an intermediate "delegate type" (using a configured `Converter`, and then this delegate value is serialized by Jackson.