## Uses of Class
com.fasterxml.jackson.databind.annotation.JacksonStdImpl

Packages that use JacksonStdImpl
Package | Description
--- | ---
com.fasterxml.jackson.databind.deser.std | Contains public standard implementations of abstraction that Jackson uses.
com.fasterxml.jackson.databind.ser.impl | Contains implementation classes of serialization part of data binding.
com.fasterxml.jackson.databind.ser.std |

### Uses of JacksonStdImpl in com.fasterxml.jackson.databind.deser.std

Classes in com.fasterxml.jackson.databind.deser.std with annotations of type JacksonStdImpl
Modifier and Type | Class and Description
--- | ---
`class` | `CollectionDeserializer` Basic serializer that can take JSON "Array" structure and construct a `Collection` instance, with typed contents.
`static class` | `DateDeserializers.CalendarDeserializer`
`class` | `MapDeserializer` Basic serializer that can take Json "Object" structure and construct a `Map` instance, with typed contents.
`static class` | `NumberDeserializers.BigDecimalDeserializer`
`static class` | `NumberDeserializers.BigIntegerDeserializer` This is bit trickier to implement efficiently, while avoiding overflow problems.
`static class` | `NumberDeserializers.BooleanDeserializer`
`static class` | `NumberDeserializers.ByteDeserializer`
`static class` | `NumberDeserializers.CharacterDeserializer`
`static class` | `NumberDeserializers.DoubleDeserializer`
`static class` | `NumberDeserializers.FloatDeserializer`
`static class` | `NumberDeserializers.IntegerDeserializer`
`static class` | `NumberDeserializers.LongDeserializer`
`static class` | `NumberDeserializers.NumberDeserializer` For type `Number.class`, we can just rely on type mappings that plain `JsonParser.getNumberValue()` returns.
`static class` | `NumberDeserializers.ShortDeserializer`
`class` | `ObjectArrayDeserializer` Basic serializer that can serialize non-primitive arrays.
`class` | `StdKeyDeserializer` Default `KeyDeserializer` implementation used for most `Map` types Jackson supports.
`class` | `StringArrayDeserializer` Separate implementation for serializing String arrays (instead of using `ObjectArrayDeserializer`.
`class` | `StringCollectionDeserializer` Specifically optimized version for `Collection`s that contain String values; reason is that this is a very common type and we can make use of the fact that Strings are final.
`class` | `StringDeserializer`
`class` | `TokenBufferDeserializer` We also want to directly support deserialization of `TokenBuffer`.
`class` | `UntypedObjectDeserializer` Deserializer implementation that is used if it is necessary to bind content of "unknown" type; something declared as basic `Object` (either explicitly, or due to type erasure).
`static class` | `UntypedObjectDeserializer.Vanilla`

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

Classes in com.fasterxml.jackson.databind.ser.impl with annotations of type JacksonStdImpl
Modifier and Type | Class and Description
--- | ---
`class` | `IndexedListSerializer` This is an optimized serializer for Lists that can be efficiently traversed by index (as opposed to others, such as `LinkedList` that can not}.
`class` | `IndexedStringListSerializer` Efficient implement for serializing `List`s that contains Strings and are random-accessible.
`class` | `IteratorSerializer`
`class` | `StringArraySerializer` Standard serializer used for `String[]` values.
`class` | `StringCollectionSerializer` Efficient implement for serializing `Collection`s that contain Strings.

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

Classes in com.fasterxml.jackson.databind.ser.std with annotations of type JacksonStdImpl
Modifier and Type | Class and Description
--- | ---
`class` | `BooleanSerializer` Serializer used for primitive boolean, as well as java.util.Boolean wrapper type.
`class` | `CalendarSerializer` Standard serializer for `Calendar`.
`class` | `DateSerializer` For efficiency, we will serialize Dates as longs, instead of potentially more readable Strings.
`class` | `EnumMapSerializer` Specialized serializer for `EnumMap`s.
`class` | `EnumSerializer` Standard serializer used for `Enum` types.
`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` | `NullSerializer` This is a simple dummy serializer that will just output literal JSON null value whenever serialization is requested.
`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.NumberSerializer` As a fallback, we may need to use this serializer for other types of `Number`s (custom types).
`static class` | `NumberSerializers.ShortSerializer`
`class` | `ObjectArraySerializer` Generic serializer for Object arrays (`Object[]`).
`class` | `SerializableSerializer` Generic handler for types that implement `JsonSerializable`.
`class` | `SqlDateSerializer` Compared to regular `Date` serialization, we do use String representation here.
`class` | `SqlTimeSerializer`
`static class` | `StdArraySerializers.BooleanArraySerializer`
`static class` | `StdArraySerializers.ByteArraySerializer` Unlike other integral number array serializers, we do not just print out byte values as numbers.
`static class` | `StdArraySerializers.CharArraySerializer` Character arrays are different from other integral number arrays in that they are most likely to be textual data, and should be written as Strings, not arrays of entries.
`static class` | `StdArraySerializers.DoubleArraySerializer`
`static class` | `StdArraySerializers.FloatArraySerializer`
`static class` | `StdArraySerializers.IntArraySerializer`
`static class` | `StdArraySerializers.LongArraySerializer`
`static class` | `StdArraySerializers.ShortArraySerializer`
`class` | `StringSerializer` This is the special serializer for regular `String`s.
`class` | `TokenBufferSerializer` We also want to directly support serialization of `TokenBuffer`; and since it is part of core package, it can not implement `JsonSerializable` (which is only included in the mapper package)
`class` | `ToStringSerializer` Simple general purpose serializer, useful for any type for which `Object.toString()` returns the desired JSON value.