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

Packages that use TypeBindings
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.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.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()` Deprecated. Since 2.7, should not need to access bindings directly
`abstract TypeBindings` | JavaType.`getBindings()`

Methods in com.fasterxml.jackson.databind with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---

`abstract JavaType`

JavaType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
Mutant factory method that will try to create and return a sub-type instance for known parameterized types; for other types will return `null` to indicate that no just refinement makes necessary sense, without trying to detect special status through implemented interfaces.

### 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` | AnnotatedClass.`_bindings` Type bindings to use for members of `AnnotatedClass._class`.

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

Methods in com.fasterxml.jackson.databind.introspect with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---
`JavaType` | Annotated.`getType(TypeBindings bogus)` Deprecated. Since 2.7 Use `Annotated.getType()` instead. To be removed from 2.9

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

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

Fields in com.fasterxml.jackson.databind.type declared as TypeBindings
Modifier and Type | Field and Description
--- | ---
`protected TypeBindings` | TypeBase.`_bindings` Bindings in effect for this type instance; possibly empty.
`protected static TypeBindings` | TypeFactory.`EMPTY_BINDINGS`

Methods in com.fasterxml.jackson.databind.type that return TypeBindings
Modifier and Type | Method and Description
--- | ---
`static TypeBindings` | TypeBindings.`create(Class<?> erasedType, JavaType typeArg1)`
`static TypeBindings` | TypeBindings.`create(Class<?> erasedType, JavaType[] types)`
`static TypeBindings` | TypeBindings.`create(Class<?> erasedType, JavaType typeArg1, JavaType typeArg2)`
`static TypeBindings` | TypeBindings.`create(Class<?> erasedType, List<JavaType> typeList)` Factory method for constructing bindings for given class using specified type parameters.
`static TypeBindings` | TypeBindings.`createIfNeeded(Class<?> erasedType, JavaType typeArg1)` Alternate factory method that may be called if it is possible that type does or does not require type parameters; this is mostly useful for collection- and map-like types.
`static TypeBindings` | TypeBindings.`createIfNeeded(Class<?> erasedType, JavaType[] types)` Alternate factory method that may be called if it is possible that type does or does not require type parameters; this is mostly useful for collection- and map-like types.
`static TypeBindings` | TypeBindings.`emptyBindings()`
`TypeBindings` | TypeBase.`getBindings()`
`TypeBindings` | TypeBindings.`withUnboundVariable(String name)` Method for creating an instance that has same bindings as this object, plus an indicator for additional type variable that may be unbound within this context; this is needed to resolve recursive self-references.

Methods in com.fasterxml.jackson.databind.type with parameters of type TypeBindings
Modifier and Type | Method and Description
--- | ---
`protected JavaType` | TypeFactory.`_constructSimple(Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)` Factory method to call when no special `JavaType` is needed, no generic parameters are passed.
`protected JavaType` | TypeFactory.`_fromAny(ClassStack context, Type type, TypeBindings bindings)` 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(ClassStack context, GenericArrayType type, TypeBindings bindings)`
`protected JavaType` | TypeFactory.`_fromClass(ClassStack context, Class<?> rawType, TypeBindings bindings)`
`protected JavaType` | TypeFactory.`_fromParamType(ClassStack context, ParameterizedType ptype, TypeBindings parentBindings)` This method deals with parameterized types, that is, first class generic classes.
`protected JavaType` | TypeFactory.`_fromVariable(ClassStack context, TypeVariable<?> var, TypeBindings bindings)`
`protected JavaType` | TypeFactory.`_fromWellKnownClass(ClassStack context, Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)` Helper class used to check whether exact class for which type is being constructed is one of well-known base interfaces or classes that indicates alternate `JavaType` implementation.
`protected JavaType` | TypeFactory.`_fromWellKnownInterface(ClassStack context, Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`protected JavaType` | TypeFactory.`_fromWildcard(ClassStack context, WildcardType type, TypeBindings bindings)`
`protected JavaType` | TypeFactory.`_newSimpleType(Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)` Factory method that is to create a new `SimpleType` with no checks whatsoever.
`protected JavaType` | TypeFactory.`_resolveSuperClass(ClassStack context, Class<?> rawType, TypeBindings parentBindings)`
`protected JavaType[]` | TypeFactory.`_resolveSuperInterfaces(ClassStack context, Class<?> rawType, TypeBindings parentBindings)`
`static ReferenceType` | ReferenceType.`construct(Class<?> cls, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType refType)`
`static CollectionType` | CollectionType.`construct(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType elemT)`
`static CollectionLikeType` | CollectionLikeType.`construct(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType elemT)`
`static MapType` | MapType.`construct(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType keyT, JavaType valueT)`
`static ArrayType` | ArrayType.`construct(JavaType componentType, TypeBindings bindings)`
`static ArrayType` | ArrayType.`construct(JavaType componentType, TypeBindings bindings, Object valueHandler, Object typeHandler)`
`JavaType` | TypeFactory.`constructType(Type type, TypeBindings bindings)`
`JavaType[]` | TypeFactory.`findTypeParameters(Class<?> clz, Class<?> expType, TypeBindings bindings)` Deprecated. Since 2.7 resolve raw type first, then find type parameters
`abstract JavaType` | TypeModifier.`modifyType(JavaType type, Type jdkType, TypeBindings context, TypeFactory typeFactory)` Method called to let modifier change constructed type definition.
`JavaType` | SimpleType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | ResolvedRecursiveType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | ReferenceType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | PlaceholderForType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | MapType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | MapLikeType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | CollectionType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | CollectionLikeType.`refine(Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`
`JavaType` | ArrayType.`refine(Class<?> contentClass, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)`

Constructors in com.fasterxml.jackson.databind.type with parameters of type TypeBindings
Constructor and Description
`ArrayType(JavaType componentType, TypeBindings bindings, Object emptyInstance, Object valueHandler, Object typeHandler, boolean asStatic)`
`CollectionLikeType(Class<?> collT, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType elemT, Object valueHandler, Object typeHandler, boolean asStatic)`
`MapLikeType(Class<?> mapType, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType keyT, JavaType valueT, Object valueHandler, Object typeHandler, boolean asStatic)`
`ReferenceType(Class<?> cls, TypeBindings bindings, JavaType superClass, JavaType[] superInts, JavaType refType, JavaType anchorType, Object valueHandler, Object typeHandler, boolean asStatic)`
`ResolvedRecursiveType(Class<?> erasedType, TypeBindings bindings)`
`SimpleType(Class<?> cls, TypeBindings bindings, JavaType superClass, JavaType[] superInts)`
`SimpleType(Class<?> cls, TypeBindings bindings, JavaType superClass, JavaType[] superInts, int extraHash, Object valueHandler, Object typeHandler, boolean asStatic)` Pass-through constructor used by `ReferenceType`.
`SimpleType(Class<?> cls, TypeBindings bindings, JavaType superClass, JavaType[] superInts, Object valueHandler, Object typeHandler, boolean asStatic)`
`TypeBase(Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInts, int hash, Object valueHandler, Object typeHandler, boolean asStatic)` Main constructor to use by extending classes.