Uses of Class org.codehaus.jackson.map.type.TypeBindings (Jackson JSON Processor)
Date: 2013-07-14

## Uses of Class
org.codehaus.jackson.map.type.TypeBindings

- Packages that use TypeBindings
  Package | Description
  --- | ---
  org.codehaus.jackson.map | 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`
  org.codehaus.jackson.map.introspect | Functionality needed for Bean introspection, required for detecting accessors and mutators for Beans, as well as locating and handling method annotations.
  org.codehaus.jackson.map.ser | Contains implementation classes of serialization part of data binding.
  org.codehaus.jackson.map.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 org.codehaus.jackson.map

    Methods in org.codehaus.jackson.map 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 org.codehaus.jackson.map.introspect

    Fields in org.codehaus.jackson.map.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 org.codehaus.jackson.map.introspect that return TypeBindings
    Modifier and Type | Method and Description
    --- | ---
    `TypeBindings` | BasicBeanDescription.`bindingsForBeanType()`

    Methods in org.codehaus.jackson.map.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 org.codehaus.jackson.map.ser

    Methods in org.codehaus.jackson.map.ser with parameters of type TypeBindings
    Modifier and Type | Method and Description
    --- | ---
    `protected BeanPropertyWriter` | BeanSerializerFactory.`_constructWriter(SerializationConfig config, TypeBindings typeContext, PropertyBuilder pb, boolean staticTyping, String name, AnnotatedMember accessor)` Secondary helper method for constructing `BeanPropertyWriter` for given member (field or method).

  - ### Uses of TypeBindings in org.codehaus.jackson.map.type

    Methods in org.codehaus.jackson.map.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 org.codehaus.jackson.map.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)`
    `static JavaType[]` | TypeFactory.`findParameterTypes(Class<?> clz, Class<?> expType, TypeBindings bindings)` Deprecated.
    `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.
    `static JavaType` | TypeFactory.`type(Type type, TypeBindings bindings)` Deprecated.