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

Packages that use TypeBindings
Package | Description
--- | ---
com.fasterxml.jackson.databind | Contains basic mapper (conversion) functionality that allows for converting between regular streaming json content and Java objects (beans or Tree Model: support for both is via `ObjectMapper` class, as well as convenience methods included in `JsonParser`
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.ser | Contains implementation classes of serialization part of data binding.
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).

### Uses of TypeBindings in com.fasterxml.jackson.databind

Methods in com.fasterxml.jackson.databind that return TypeBindings
Modifier and Type | Method and Description
--- | ---
`abstract TypeBindings` | BeanDescription.`bindingsForBeanType()` Accessor for type bindings that may be needed to fully resolve types of member object, such as return and argument types of methods and constructors, and types of fields.

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

Fields in com.fasterxml.jackson.databind.introspect declared as TypeBindings
Modifier and Type | Field and Description
--- | ---
`protected TypeBindings` | BasicBeanDescription.`_bindings` We may need type bindings for the bean type.

Methods in com.fasterxml.jackson.databind.introspect that return TypeBindings
Modifier and Type | Method and Description
--- | ---
`TypeBindings` | BasicBeanDescription.`bindingsForBeanType()`

Methods in com.fasterxml.jackson.databind.introspect with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---
`JavaType` | AnnotatedMethod.`getType(TypeBindings bindings)` As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
`JavaType` | AnnotatedConstructor.`getType(TypeBindings bindings)` As per [JACKSON-468], we need to also allow declaration of local type bindings; mostly it will allow defining bounds.
`JavaType` | Annotated.`getType(TypeBindings context)` Full generic type of the annotated element; definition of what exactly this means depends on sub-class.
`protected JavaType` | AnnotatedWithParams.`getType(TypeBindings bindings, TypeVariable<?>[] typeParams)`
`JavaType` | AnnotatedWithParams.`resolveParameterType(int index, TypeBindings bindings)` Method called to fully resolve type of one of parameters, given specified type variable bindings.

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

Methods in com.fasterxml.jackson.databind.ser with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---
`protected BeanPropertyWriter` | BeanSerializerFactory.`_constructWriter(SerializerProvider prov, BeanPropertyDefinition propDef, TypeBindings typeContext, PropertyBuilder pb, boolean staticTyping, AnnotatedMember accessor)` Secondary helper method for constructing `BeanPropertyWriter` for given member (field or method).

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

Methods in com.fasterxml.jackson.databind.type that return TypeBindings
Modifier and Type | Method and Description
--- | ---
`TypeBindings` | TypeBindings.`childInstance()` Constructor used to create "child" instances; mostly to allow delegation from explicitly defined local overrides (local type variables for methods, constructors) to contextual (class-defined) ones.

Methods in com.fasterxml.jackson.databind.type with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---
`JavaType` | TypeFactory.`_constructType(Type type, TypeBindings context)` Factory method that can be used if type information is passed as Java typing returned from `getGenericXxx` methods (usually for a return or argument type).
`protected JavaType` | TypeFactory.`_fromArrayType(GenericArrayType type, TypeBindings context)`
`protected JavaType` | TypeFactory.`_fromClass(Class<?> clz, TypeBindings context)`
`protected JavaType` | TypeFactory.`_fromParamType(ParameterizedType type, TypeBindings context)` This method deals with parameterized types, that is, first class generic classes.
`protected JavaType` | TypeFactory.`_fromVariable(TypeVariable<?> type, TypeBindings context)`
`protected JavaType` | TypeFactory.`_fromWildcard(WildcardType type, TypeBindings context)`
`protected JavaType` | TypeFactory.`_resolveVariableViaSubTypes(HierarchicType leafType, String variableName, TypeBindings bindings)`
`JavaType` | TypeFactory.`constructType(Type type, TypeBindings bindings)`
`JavaType[]` | TypeFactory.`findTypeParameters(Class<?> clz, Class<?> expType, TypeBindings bindings)`
`abstract JavaType` | TypeModifier.`modifyType(JavaType type, Type jdkType, TypeBindings context, TypeFactory typeFactory)` Method called to let modifier change constructed type definition.