# Package 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.

See: Description

Interface Summary
JsonAnyFormatVisitor
JsonArrayFormatVisitor
JsonBooleanFormatVisitor
JsonFormatVisitable: Interface `JsonSerializer` implements to allow for visiting type hierarchy.
JsonFormatVisitorWithSerializerProvider
JsonFormatVisitorWrapper: Interface for visitor callbacks, when type in question can be any of legal JSON types.
JsonIntegerFormatVisitor
JsonMapFormatVisitor
JsonNullFormatVisitor
JsonNumberFormatVisitor
JsonObjectFormatVisitor: Visitor called when properties of a type that maps to JSON Object are being visited: this usually means POJOs, but sometimes other types use it too (like `EnumMap`).
JsonStringFormatVisitor
JsonValueFormatVisitor

Class Summary
JsonAnyFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonArrayFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonBooleanFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonFormatVisitorWrapper.Base: Empty "no-op" implementation of `JsonFormatVisitorWrapper`, suitable for sub-classing.
JsonIntegerFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonMapFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonNullFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonNumberFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonObjectFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonStringFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.
JsonValueFormatVisitor.Base: Default "empty" implementation, useful as the base to start on; especially as it is guaranteed to implement all the method of the interface, even if new methods are getting added.

Enum Summary
JsonFormatTypes
JsonValueFormat: This enum represents the encoded format for a jsonSchema value type

## Package com.fasterxml.jackson.databind.jsonFormatVisitors Description

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.

The main entrypoint for code, then, is `JsonFormatVisitorWrapper` and other types are recursively needed during traversal.