## Uses of Interface
com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable

- Packages that use JsonFormatVisitable
  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.jsonFormatVisitors | Classes used for exposing logical structure of POJOs as Jackson sees it, and exposed via `ObjectMapper.acceptJsonFormatVisitor(Class, JsonFormatVisitorWrapper)` and `ObjectMapper.acceptJsonFormatVisitor(com.fasterxml.jackson.databind.JavaType, JsonFormatVisitorWrapper)` methods.
  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 JsonFormatVisitable in com.fasterxml.jackson.databind

    Classes in com.fasterxml.jackson.databind that implement JsonFormatVisitable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JsonSerializer<T>` Abstract class that defines API used by `ObjectMapper` (and other chained `JsonSerializer`s too) to serialize Objects of arbitrary types into JSON, using provided `JsonGenerator`.
    `static class` | `JsonSerializer.None` This marker class is only to be used with annotations, to indicate that no serializer is configured.

  - ### Uses of JsonFormatVisitable in com.fasterxml.jackson.databind.ext

    Classes in com.fasterxml.jackson.databind.ext that implement JsonFormatVisitable
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `CoreXMLSerializers.XMLGregorianCalendarSerializer`
    `class` | `DOMSerializer`

  - ### Uses of JsonFormatVisitable in com.fasterxml.jackson.databind.jsonFormatVisitors

    Methods in com.fasterxml.jackson.databind.jsonFormatVisitors with parameters of type JsonFormatVisitable
    Modifier and Type | Method and Description
    --- | ---
    `void` | JsonArrayFormatVisitor.`itemsFormat(JsonFormatVisitable handler, JavaType elementType)` Visit method called for structured types, as well as possibly for leaf types (especially if handled by custom serializers).
    `void` | JsonArrayFormatVisitor.Base.`itemsFormat(JsonFormatVisitable handler, JavaType elementType)`
    `void` | JsonMapFormatVisitor.`keyFormat(JsonFormatVisitable handler, JavaType keyType)` Visit method called to indicate type of keys of the Map type being visited
    `void` | JsonMapFormatVisitor.Base.`keyFormat(JsonFormatVisitable handler, JavaType keyType)`
    `void` | JsonObjectFormatVisitor.`optionalProperty(String name, JsonFormatVisitable handler, JavaType propertyTypeHint)`
    `void` | JsonObjectFormatVisitor.Base.`optionalProperty(String name, JsonFormatVisitable handler, JavaType propertyTypeHint)`
    `void` | JsonObjectFormatVisitor.`property(String name, JsonFormatVisitable handler, JavaType propertyTypeHint)` Callback method called when a non-POJO property (typically something like an Enum entry of `EnumMap` type) is being traversed.
    `void` | JsonObjectFormatVisitor.Base.`property(String name, JsonFormatVisitable handler, JavaType propertyTypeHint)`
    `void` | JsonMapFormatVisitor.`valueFormat(JsonFormatVisitable handler, JavaType valueType)` Visit method called after `JsonMapFormatVisitor.keyFormat(com.fasterxml.jackson.databind.jsonFormatVisitors.JsonFormatVisitable, com.fasterxml.jackson.databind.JavaType)` to allow visiting of the value type
    `void` | JsonMapFormatVisitor.Base.`valueFormat(JsonFormatVisitable handler, JavaType valueType)`

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

    Classes in com.fasterxml.jackson.databind.ser that implement JsonFormatVisitable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BeanSerializer` Serializer class that can serialize Java objects that map to JSON Object output.
    `class` | `ContainerSerializer<T>` Intermediate base class for serializers used for serializing types that contain element(s) of other types, such as arrays, `Collection`s (`Lists`, `Sets` etc) and `Map`s and iterable things (`Iterator`s).

  - ### Uses of JsonFormatVisitable in com.fasterxml.jackson.databind.ser.impl

    Classes in com.fasterxml.jackson.databind.ser.impl that implement JsonFormatVisitable
    Modifier and Type | Class and Description
    --- | ---
    `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` | `FailingSerializer` Special bogus "serializer" that will throw `JsonGenerationException` if its `FailingSerializer.serialize(java.lang.Object, com.fasterxml.jackson.core.JsonGenerator, com.fasterxml.jackson.databind.SerializerProvider)` gets invoked.
    `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` | `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` | `UnknownSerializer`
    `class` | `UnwrappingBeanSerializer`

  - ### Uses of JsonFormatVisitable in com.fasterxml.jackson.databind.ser.std

    Classes in com.fasterxml.jackson.databind.ser.std that implement JsonFormatVisitable
    Modifier and Type | Class and Description
    --- | ---
    `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` | `ByteArraySerializer` Unlike other integral number array serializers, we do not just print out byte values as numbers.
    `class` | `ByteBufferSerializer`
    `class` | `CalendarSerializer` Standard serializer for `Calendar`.
    `class` | `ClassSerializer` Also: default bean access will not do much good with Class.class.
    `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` | `EnumMapSerializer` Deprecated. Since 2.4.4; standard `MapSerializer` works better. (to be removed from 2.6)
    `class` | `EnumSerializer` Standard serializer used for `Enum` types.
    `class` | `EnumSetSerializer`
    `class` | `FileSerializer` For now, File objects get serialized by just outputting absolute (but not canonical) name as String value
    `class` | `InetAddressSerializer` Simple serializer for `InetAddress`.
    `class` | `InetSocketAddressSerializer` Simple serializer for `InetSocketAddress`.
    `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` | `NonTypedScalarSerializerBase<T>` Intermediate base class for limited number of scalar types that should never include type information.
    `class` | `NullSerializer` This is a simple dummy serializer that will just output literal JSON null value whenever serialization is requested.
    `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` | `RawSerializer<T>` This is a simple dummy serializer that will just output raw values by calling toString() on value to serialize.
    `class` | `SerializableSerializer` Generic handler for types that implement `JsonSerializable`.
    `class` | `SqlDateSerializer` Compared to regular `Date` serialization, we do use String representation here.
    `class` | `SqlTimeSerializer`
    `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.ByteArraySerializer` Deprecated. Since 2.6 use the main-level implementation, base class of this class
    `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`
    `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.
    `static class` | `StdJdkSerializers.AtomicBooleanSerializer`
    `static class` | `StdJdkSerializers.AtomicIntegerSerializer`
    `static class` | `StdJdkSerializers.AtomicLongSerializer`
    `class` | `StdKeySerializer` Specialized serializer that can be used as the generic key serializer, when serializing `Map`s to JSON Objects.
    `static class` | `StdKeySerializers.CalendarKeySerializer` Deprecated.
    `static class` | `StdKeySerializers.DateKeySerializer` Deprecated.
    `static class` | `StdKeySerializers.Default`
    `static class` | `StdKeySerializers.StringKeySerializer`
    `class` | `StdScalarSerializer<T>`
    `class` | `StdSerializer<T>` Base class used by all standard serializers, and can also be used for custom serializers (in fact, this is the recommended base class to use).
    `class` | `StringSerializer` This is the special serializer for regular `String`s.
    `class` | `TimeZoneSerializer`
    `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.
    `class` | `UUIDSerializer` Specialized `JsonSerializer` to output `UUID`s.

Copyright © 2014–2015 FasterXML. All rights reserved.