com.fasterxml.jackson.core.type

## Class ResolvedType

- java.lang.Object
- - com.fasterxml.jackson.core.type.ResolvedType

    public abstract class ResolvedType
    extends Object

Type abstraction that represents Java type that has been resolved (i.e. has all generic information, if any, resolved to concrete types). Note that this is an intermediate type, and all concrete instances MUST be of type `JavaType` from "databind" bundle -- this abstraction is only needed so that types can be passed through `JsonParser.readValueAs(java.lang.Class<T>)` methods.

Since:
  2.0

### Constructor Summary

Constructors
Constructor and Description
`ResolvedType()`

### Method Summary

Methods
`abstract ResolvedType` `containedType(int index)` Method for accessing definitions of contained ("child") types.
`abstract int` `containedTypeCount()` Method for checking how many contained types this type has.
`abstract String` `containedTypeName(int index)` Method for accessing name of type variable in indicated position.
`abstract ResolvedType` `getContentType()` Method for accessing content type of this type, if type has such a thing: simple types do not, structured types do (like arrays, Collections and Maps)
`abstract ResolvedType` `getKeyType()` Method for accessing key type for this type, assuming type has such a concept (only Map types do)
`Class<?>` `getParameterSource()` Accessor that can be used to find out type for which parameterization is applied: this is often NOT same as what `getRawClass()` returns, but rather one of it supertype.
`abstract Class<?>` `getRawClass()` Accessor for type-erased `Class` of resolved type.
`abstract boolean` `hasGenericTypes()` Method that can be used to find out if the type directly declares generic parameters (for its direct super-class and/or super-interfaces).
`abstract boolean` `hasRawClass(Class<?> clz)`
`abstract boolean` `isAbstract()`
`abstract boolean` `isArrayType()`
`abstract boolean` `isCollectionLikeType()`
`abstract boolean` `isConcrete()`
`abstract boolean` `isContainerType()`
`abstract boolean` `isEnumType()`
`abstract boolean` `isFinal()`
`abstract boolean` `isInterface()`
`abstract boolean` `isMapLikeType()`
`abstract boolean` `isPrimitive()`
`abstract boolean` `isThrowable()`
`abstract String` `toCanonical()` Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (using `TypeFactory` from mapper package).

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ResolvedType

    public ResolvedType()

### Method Detail

#### getRawClass

    public abstract Class<?> getRawClass()

Accessor for type-erased `Class` of resolved type.

#### hasRawClass

    public abstract boolean hasRawClass(Class<?> clz)

#### isAbstract

    public abstract boolean isAbstract()

#### isConcrete

    public abstract boolean isConcrete()

#### isThrowable

    public abstract boolean isThrowable()

#### isArrayType

    public abstract boolean isArrayType()

#### isEnumType

    public abstract boolean isEnumType()

#### isInterface

    public abstract boolean isInterface()

#### isPrimitive

    public abstract boolean isPrimitive()

#### isFinal

    public abstract boolean isFinal()

#### isContainerType

    public abstract boolean isContainerType()

#### isCollectionLikeType

    public abstract boolean isCollectionLikeType()

#### isMapLikeType

    public abstract boolean isMapLikeType()

#### hasGenericTypes

    public abstract boolean hasGenericTypes()

Method that can be used to find out if the type directly declares generic parameters (for its direct super-class and/or super-interfaces).

#### getParameterSource

    public Class<?> getParameterSource()

Accessor that can be used to find out type for which parameterization is applied: this is often NOT same as what `getRawClass()` returns, but rather one of it supertype.

For example: for type like `HashMap`, raw type is `HashMap`; but this method would return `Map`, because relevant type parameters that are resolved (and accessible using `containedType(int)` and `getKeyType()`) are parameter for `Map` (which may or may not be same as type parameters for subtype; in case of `HashMap` they are, but for further subtypes they may be different parameters or possibly none at all).

Since:
  2.5

#### getKeyType

    public abstract ResolvedType getKeyType()

Method for accessing key type for this type, assuming type has such a concept (only Map types do)

#### getContentType

    public abstract ResolvedType getContentType()

Method for accessing content type of this type, if type has such a thing: simple types do not, structured types do (like arrays, Collections and Maps)

#### containedTypeCount

    public abstract int containedTypeCount()

Method for checking how many contained types this type has. Contained types are usually generic types, so that generic Maps have 2 contained types.

#### containedType

    public abstract ResolvedType containedType(int index)

Method for accessing definitions of contained ("child") types.

Parameters:
  `index` - Index of contained type to return
Returns:
  Contained type at index, or null if no such type exists (no exception thrown)

#### containedTypeName

    public abstract String containedTypeName(int index)

Method for accessing name of type variable in indicated position. If no name is bound, will use placeholders (derived from 0-based index); if no type variable or argument exists with given index, null is returned.

Parameters:
  `index` - Index of contained type to return
Returns:
  Contained type at index, or null if no such type exists (no exception thrown)

#### toCanonical

    public abstract String toCanonical()

Method that can be used to serialize type into form from which it can be fully deserialized from at a later point (using `TypeFactory` from mapper package). For simple types this is same as calling `Class.getName()`, but for structured types it may additionally contain type information about contents.