## Uses of Class
com.fasterxml.jackson.databind.type.TypeFactory

Packages that use TypeFactory
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.cfg: Package that contains most of configuration-related classes; exception being couple of most-commonly used configuration things (like Feature enumerations) that are at the main level (`com.fasterxml.jackson.databind`).
com.fasterxml.jackson.databind.introspect: Functionality needed for Bean introspection, required for detecting accessors and mutators for Beans, as well as locating and handling method annotations.
com.fasterxml.jackson.databind.jsontype.impl: Package that contains standard implementations for `TypeResolverBuilder` and `TypeIdResolver`.
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 TypeFactory in com.fasterxml.jackson.databind

Fields in com.fasterxml.jackson.databind declared as TypeFactory
`protected TypeFactory` ObjectMapper.`_typeFactory` Specific factory used for creating `JavaType` instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages)

Methods in com.fasterxml.jackson.databind that return TypeFactory
`TypeFactory` ObjectWriter.`getTypeFactory()`
`TypeFactory` ObjectReader.`getTypeFactory()`
`TypeFactory` ObjectMapper.`getTypeFactory()` Accessor for getting currently configured `TypeFactory` instance.
`abstract TypeFactory` DatabindContext.`getTypeFactory()`
`TypeFactory` SerializerProvider.`getTypeFactory()`
`TypeFactory` Module.SetupContext.`getTypeFactory()` Accessor for finding `TypeFactory` that is currently configured by the context.
`TypeFactory` DeserializationContext.`getTypeFactory()`

Methods in com.fasterxml.jackson.databind with parameters of type TypeFactory
`ObjectMapper` ObjectMapper.`setTypeFactory(TypeFactory f)` Method that can be used to override `TypeFactory` instance used by this mapper.

### Uses of TypeFactory in com.fasterxml.jackson.databind.cfg

Fields in com.fasterxml.jackson.databind.cfg declared as TypeFactory
`protected TypeFactory` BaseSettings.`_typeFactory` Specific factory used for creating `JavaType` instances; needed to allow modules to add more custom type handling (mostly to support types of non-Java JVM languages)

Methods in com.fasterxml.jackson.databind.cfg that return TypeFactory
`TypeFactory` MapperConfig.`getTypeFactory()`
`TypeFactory` BaseSettings.`getTypeFactory()`

Methods in com.fasterxml.jackson.databind.cfg with parameters of type TypeFactory
`B` MapperBuilder.`typeFactory(TypeFactory f)`
`T` MapperConfigBase.`with(TypeFactory tf)` Method for constructing and returning a new instance with different `TypeFactory` to use.
`BaseSettings` BaseSettings.`withTypeFactory(TypeFactory tf)`

Constructors in com.fasterxml.jackson.databind.cfg with parameters of type TypeFactory
Constructor and Description
`BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, Base64Variant defaultBase64, PolymorphicTypeValidator ptv)` Deprecated.
`BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, Base64Variant defaultBase64, PolymorphicTypeValidator ptv, AccessorNamingStrategy.Provider accNaming)` Deprecated. Since 2.16, use variant that takes `CacheProvider` instead.
`BaseSettings(ClassIntrospector ci, AnnotationIntrospector ai, PropertyNamingStrategy pns, TypeFactory tf, TypeResolverBuilder<?> typer, DateFormat dateFormat, HandlerInstantiator hi, Locale locale, TimeZone tz, Base64Variant defaultBase64, PolymorphicTypeValidator ptv, AccessorNamingStrategy.Provider accNaming, CacheProvider cacheProvider)`

### Uses of TypeFactory in com.fasterxml.jackson.databind.introspect

Fields in com.fasterxml.jackson.databind.introspect declared as TypeFactory
`protected TypeFactory` AnnotatedClass.`_typeFactory`

Methods in com.fasterxml.jackson.databind.introspect with parameters of type TypeFactory
`static List<AnnotatedField>` AnnotatedFieldCollector.`collectFields(AnnotationIntrospector intr, TypeResolutionContext tc, ClassIntrospector.MixInResolver mixins, TypeFactory types, JavaType type, boolean collectAnnotations)`
`static AnnotatedMethodMap` AnnotatedMethodCollector.`collectMethods(AnnotationIntrospector intr, TypeResolutionContext tc, ClassIntrospector.MixInResolver mixins, TypeFactory types, JavaType type, List<JavaType> superTypes, Class<?> primaryMixIn, boolean collectAnnotations)`

Constructors in com.fasterxml.jackson.databind.introspect with parameters of type TypeFactory
Constructor and Description
`Basic(TypeFactory tf, TypeBindings b)`
`Empty(TypeFactory tf)`

### Uses of TypeFactory in com.fasterxml.jackson.databind.jsontype.impl

Fields in com.fasterxml.jackson.databind.jsontype.impl declared as TypeFactory
`protected TypeFactory` TypeIdResolverBase.`_typeFactory`

Methods in com.fasterxml.jackson.databind.jsontype.impl with parameters of type TypeFactory
`protected String` ClassNameIdResolver.`_idFrom(Object value, Class<?> cls, TypeFactory typeFactory)`

Constructors in com.fasterxml.jackson.databind.jsontype.impl with parameters of type TypeFactory
Constructor and Description
`ClassNameIdResolver(JavaType baseType, TypeFactory typeFactory)` Deprecated. Since 2.10 use variant that takes `PolymorphicTypeValidator`
`ClassNameIdResolver(JavaType baseType, TypeFactory typeFactory, PolymorphicTypeValidator ptv)`
`MinimalClassNameIdResolver(JavaType baseType, TypeFactory typeFactory, PolymorphicTypeValidator ptv)`
`TypeIdResolverBase(JavaType baseType, TypeFactory typeFactory)`

### Uses of TypeFactory in com.fasterxml.jackson.databind.type

Fields in com.fasterxml.jackson.databind.type declared as TypeFactory
`protected TypeFactory` TypeParser.`_factory`
`protected static TypeFactory` TypeFactory.`instance` Globally shared singleton.

Methods in com.fasterxml.jackson.databind.type that return TypeFactory
`static TypeFactory` TypeFactory.`defaultInstance()` Method used to access the globally shared instance, which has no custom configuration.
`TypeFactory` TypeFactory.`withCache(LookupCache<Object,JavaType> cache)` Mutant factory method that will construct new `TypeFactory` with identical settings except for different cache.
`TypeFactory` TypeFactory.`withCache(LRUMap<Object,JavaType> cache)` Deprecated. Since 2.12
`TypeFactory` TypeFactory.`withClassLoader(ClassLoader classLoader)` "Mutant factory" method which will construct a new instance with specified `ClassLoader` to use by `findClass(java.lang.String)`.
`TypeFactory` TypeFactory.`withModifier(TypeModifier mod)` "Mutant factory" method which will construct a new instance with specified `TypeModifier` added as the first modifier to call (in case there are multiple registered).

Methods in com.fasterxml.jackson.databind.type with parameters of type TypeFactory
`abstract JavaType` TypeModifier.`modifyType(JavaType type, Type jdkType, TypeBindings context, TypeFactory typeFactory)` Method called to let modifier change constructed type definition.
`TypeParser` TypeParser.`withFactory(TypeFactory f)`

Constructors in com.fasterxml.jackson.databind.type with parameters of type TypeFactory
Constructor and Description
`TypeParser(TypeFactory f)`

### Uses of TypeFactory in com.fasterxml.jackson.databind.util

Methods in com.fasterxml.jackson.databind.util with parameters of type TypeFactory
`protected JavaType` StdConverter.`_findConverterType(TypeFactory tf)`
`JavaType` Converter.`getInputType(TypeFactory typeFactory)` Method that can be used to find out actual input (source) type; this usually can be determined from type parameters, but may need to be implemented differently from programmatically defined converters (which cannot change static type parameter bindings).
`JavaType` StdConverter.`getInputType(TypeFactory typeFactory)`
`JavaType` Converter.`getOutputType(TypeFactory typeFactory)` Method that can be used to find out actual output (target) type; this usually can be determined from type parameters, but may need to be implemented differently from programmatically defined converters (which cannot change static type parameter bindings).
`JavaType` StdConverter.`getOutputType(TypeFactory typeFactory)`