public final class TypeFactory
extends java.lang.Object
implements java.io.Serializable
JavaType
instances,
given various inputs.
Instances of this class are accessible using ObjectMapper
as well as many objects it constructs (like
DeserializationConfig
and
SerializationConfig
)),
but usually those objects also
expose convenience methods (constructType
).
So, you can do for example:
JavaType stringType = mapper.constructType(String.class);However, more advanced methods are only exposed by factory so that you may need to use:
JavaType stringCollection = mapper.getTypeFactory().constructCollectionType(List.class, String.class);
Modifier and Type | Field and Description |
---|---|
protected java.lang.ClassLoader |
_classLoader
ClassLoader used by this factory [databind#624].
|
protected TypeModifier[] |
_modifiers
Registered
TypeModifier s: objects that can change details
of JavaType instances factory constructs. |
protected TypeParser |
_parser |
protected LRUMap<java.lang.Object,JavaType> |
_typeCache
Since type resolution can be expensive (specifically when resolving
actual generic types), we will use small cache to avoid repetitive
resolution of core types
|
private static java.lang.Class<?> |
CLS_BOOL |
private static java.lang.Class<?> |
CLS_CLASS |
private static java.lang.Class<?> |
CLS_COMPARABLE |
private static java.lang.Class<?> |
CLS_ENUM |
private static java.lang.Class<?> |
CLS_INT |
private static java.lang.Class<?> |
CLS_LONG |
private static java.lang.Class<?> |
CLS_OBJECT |
private static java.lang.Class<?> |
CLS_STRING |
protected static SimpleType |
CORE_TYPE_BOOL |
protected static SimpleType |
CORE_TYPE_CLASS
Cache
Class because it is nominally parametric, but has no really
useful information. |
protected static SimpleType |
CORE_TYPE_COMPARABLE
Cache
Comparable because it is both parameteric (relatively costly to
resolve) and mostly useless (no special handling), better handle directly |
protected static SimpleType |
CORE_TYPE_ENUM
Cache
Enum because it is parametric AND self-referential (costly to
resolve) and useless in itself (no special handling). |
protected static SimpleType |
CORE_TYPE_INT |
protected static SimpleType |
CORE_TYPE_LONG |
protected static SimpleType |
CORE_TYPE_OBJECT |
protected static SimpleType |
CORE_TYPE_STRING |
protected static TypeBindings |
EMPTY_BINDINGS |
protected static TypeFactory |
instance
Globally shared singleton.
|
private static JavaType[] |
NO_TYPES |
private static long |
serialVersionUID |
Modifier | Constructor and Description |
---|---|
private |
TypeFactory() |
protected |
TypeFactory(TypeParser p,
TypeModifier[] mods) |
protected |
TypeFactory(TypeParser p,
TypeModifier[] mods,
java.lang.ClassLoader classLoader) |
Modifier and Type | Method and Description |
---|---|
private TypeBindings |
_bindingsForSubtype(JavaType baseType,
int typeParamCount,
java.lang.Class<?> subclass) |
private JavaType |
_collectionType(java.lang.Class<?> rawClass,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces) |
protected JavaType |
_constructSimple(java.lang.Class<?> raw,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces)
Factory method to call when no special
JavaType is needed,
no generic parameters are passed. |
protected java.lang.Class<?> |
_findPrimitive(java.lang.String className) |
protected JavaType |
_findWellKnownSimple(java.lang.Class<?> clz)
Helper method called to see if requested, non-generic-parameterized
type is one of common, "well-known" types, instances of which are
pre-constructed and do not need dynamic caching.
|
protected JavaType |
_fromAny(ClassStack context,
java.lang.reflect.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 |
_fromArrayType(ClassStack context,
java.lang.reflect.GenericArrayType type,
TypeBindings bindings) |
protected JavaType |
_fromClass(ClassStack context,
java.lang.Class<?> rawType,
TypeBindings bindings) |
protected JavaType |
_fromParamType(ClassStack context,
java.lang.reflect.ParameterizedType ptype,
TypeBindings parentBindings)
This method deals with parameterized types, that is,
first class generic classes.
|
protected JavaType |
_fromVariable(ClassStack context,
java.lang.reflect.TypeVariable<?> var,
TypeBindings bindings) |
protected JavaType |
_fromWellKnownClass(ClassStack context,
java.lang.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 |
_fromWellKnownInterface(ClassStack context,
java.lang.Class<?> rawType,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces) |
protected JavaType |
_fromWildcard(ClassStack context,
java.lang.reflect.WildcardType type,
TypeBindings bindings) |
private JavaType |
_mapType(java.lang.Class<?> rawClass,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces) |
protected JavaType |
_newSimpleType(java.lang.Class<?> raw,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces)
Factory method that is to create a new
SimpleType with no
checks whatsoever. |
private JavaType |
_referenceType(java.lang.Class<?> rawClass,
TypeBindings bindings,
JavaType superClass,
JavaType[] superInterfaces) |
protected JavaType |
_resolveSuperClass(ClassStack context,
java.lang.Class<?> rawType,
TypeBindings parentBindings) |
protected JavaType[] |
_resolveSuperInterfaces(ClassStack context,
java.lang.Class<?> rawType,
TypeBindings parentBindings) |
protected JavaType |
_unknownType() |
protected java.lang.Class<?> |
classForName(java.lang.String name) |
protected java.lang.Class<?> |
classForName(java.lang.String name,
boolean initialize,
java.lang.ClassLoader loader) |
void |
clearCache()
Method that will clear up any cached type definitions that may
be cached by this
TypeFactory instance. |
ArrayType |
constructArrayType(java.lang.Class<?> elementType)
Method for constructing an
ArrayType . |
ArrayType |
constructArrayType(JavaType elementType)
Method for constructing an
ArrayType . |
CollectionLikeType |
constructCollectionLikeType(java.lang.Class<?> collectionClass,
java.lang.Class<?> elementClass)
Method for constructing a
CollectionLikeType . |
CollectionLikeType |
constructCollectionLikeType(java.lang.Class<?> collectionClass,
JavaType elementType)
Method for constructing a
CollectionLikeType . |
CollectionType |
constructCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass,
java.lang.Class<?> elementClass)
Method for constructing a
CollectionType . |
CollectionType |
constructCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass,
JavaType elementType)
Method for constructing a
CollectionType . |
JavaType |
constructFromCanonical(java.lang.String canonical)
Factory method for constructing a
JavaType out of its canonical
representation (see ResolvedType.toCanonical() ). |
JavaType |
constructGeneralizedType(JavaType baseType,
java.lang.Class<?> superClass)
Method similar to
constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>) , but that creates a
less-specific type of given type. |
MapLikeType |
constructMapLikeType(java.lang.Class<?> mapClass,
java.lang.Class<?> keyClass,
java.lang.Class<?> valueClass)
Method for constructing a
MapLikeType instance |
MapLikeType |
constructMapLikeType(java.lang.Class<?> mapClass,
JavaType keyType,
JavaType valueType)
Method for constructing a
MapLikeType instance |
MapType |
constructMapType(java.lang.Class<? extends java.util.Map> mapClass,
java.lang.Class<?> keyClass,
java.lang.Class<?> valueClass)
Method for constructing a
MapType instance |
MapType |
constructMapType(java.lang.Class<? extends java.util.Map> mapClass,
JavaType keyType,
JavaType valueType)
Method for constructing a
MapType instance |
JavaType |
constructParametricType(java.lang.Class<?> parametrized,
java.lang.Class<?>... parameterClasses)
Factory method for constructing
JavaType that
represents a parameterized type. |
JavaType |
constructParametricType(java.lang.Class<?> rawType,
JavaType... parameterTypes)
Factory method for constructing
JavaType that
represents a parameterized type. |
JavaType |
constructParametrizedType(java.lang.Class<?> parametrized,
java.lang.Class<?> parametersFor,
java.lang.Class<?>... parameterClasses) |
JavaType |
constructParametrizedType(java.lang.Class<?> parametrized,
java.lang.Class<?> parametersFor,
JavaType... parameterTypes) |
CollectionLikeType |
constructRawCollectionLikeType(java.lang.Class<?> collectionClass)
Method that can be used to construct "raw" Collection-like type; meaning that its
parameterization is unknown.
|
CollectionType |
constructRawCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass)
Method that can be used to construct "raw" Collection type; meaning that its
parameterization is unknown.
|
MapLikeType |
constructRawMapLikeType(java.lang.Class<?> mapClass)
Method that can be used to construct "raw" Map-like type; meaning that its
parameterization is unknown.
|
MapType |
constructRawMapType(java.lang.Class<? extends java.util.Map> mapClass)
Method that can be used to construct "raw" Map type; meaning that its
parameterization is unknown.
|
JavaType |
constructReferenceType(java.lang.Class<?> rawType,
JavaType referredType) |
JavaType |
constructSimpleType(java.lang.Class<?> rawType,
java.lang.Class<?> parameterTarget,
JavaType[] parameterTypes)
Deprecated.
Since 2.7
|
JavaType |
constructSimpleType(java.lang.Class<?> rawType,
JavaType[] parameterTypes)
Method for constructing a type instance with specified parameterization.
|
JavaType |
constructSpecializedType(JavaType baseType,
java.lang.Class<?> subclass)
Factory method for creating a subtype of given base type, as defined
by specified subclass; but retaining generic type information if any.
|
JavaType |
constructType(java.lang.reflect.Type type) |
JavaType |
constructType(java.lang.reflect.Type type,
java.lang.Class<?> contextClass)
Deprecated.
Since 2.7 (accidentally removed in 2.7.0; added back in 2.7.1)
|
JavaType |
constructType(java.lang.reflect.Type type,
JavaType contextType)
Deprecated.
Since 2.7 (accidentally removed in 2.7.0; added back in 2.7.1)
|
JavaType |
constructType(com.fasterxml.jackson.core.type.TypeReference<?> typeRef) |
JavaType |
constructType(java.lang.reflect.Type type,
TypeBindings bindings) |
static TypeFactory |
defaultInstance()
Method used to access the globally shared instance, which has
no custom configuration.
|
java.lang.Class<?> |
findClass(java.lang.String className)
Low-level lookup method moved from
ClassUtil ,
to allow for overriding of lookup functionality in environments like OSGi. |
JavaType[] |
findTypeParameters(java.lang.Class<?> clz,
java.lang.Class<?> expType)
Deprecated.
Since 2.7 resolve raw type first, then find type parameters
|
JavaType[] |
findTypeParameters(java.lang.Class<?> clz,
java.lang.Class<?> expType,
TypeBindings bindings)
Deprecated.
Since 2.7 resolve raw type first, then find type parameters
|
JavaType[] |
findTypeParameters(JavaType type,
java.lang.Class<?> expType)
Method that is to figure out actual type parameters that given
class binds to generic types defined by given (generic)
interface or class.
|
java.lang.ClassLoader |
getClassLoader() |
JavaType |
moreSpecificType(JavaType type1,
JavaType type2)
Method that can be called to figure out more specific of two
types (if they are related; that is, one implements or extends the
other); or if not related, return the primary type.
|
static java.lang.Class<?> |
rawClass(java.lang.reflect.Type t)
Static helper method that can be called to figure out type-erased
call for given JDK type.
|
JavaType |
uncheckedSimpleType(java.lang.Class<?> cls)
Method that will force construction of a simple type, without trying to
check for more specialized types.
|
static JavaType |
unknownType()
Method for constructing a marker type that indicates missing generic
type information, which is handled same as simple type for
java.lang.Object . |
TypeFactory |
withClassLoader(java.lang.ClassLoader classLoader) |
TypeFactory |
withModifier(TypeModifier mod) |
private static final long serialVersionUID
private static final JavaType[] NO_TYPES
protected static final TypeFactory instance
defaultInstance()
for accessing it.protected static final TypeBindings EMPTY_BINDINGS
private static final java.lang.Class<?> CLS_STRING
private static final java.lang.Class<?> CLS_OBJECT
private static final java.lang.Class<?> CLS_COMPARABLE
private static final java.lang.Class<?> CLS_CLASS
private static final java.lang.Class<?> CLS_ENUM
private static final java.lang.Class<?> CLS_BOOL
private static final java.lang.Class<?> CLS_INT
private static final java.lang.Class<?> CLS_LONG
protected static final SimpleType CORE_TYPE_BOOL
protected static final SimpleType CORE_TYPE_INT
protected static final SimpleType CORE_TYPE_LONG
protected static final SimpleType CORE_TYPE_STRING
protected static final SimpleType CORE_TYPE_OBJECT
protected static final SimpleType CORE_TYPE_COMPARABLE
Comparable
because it is both parameteric (relatively costly to
resolve) and mostly useless (no special handling), better handle directlyprotected static final SimpleType CORE_TYPE_ENUM
Enum
because it is parametric AND self-referential (costly to
resolve) and useless in itself (no special handling).protected static final SimpleType CORE_TYPE_CLASS
Class
because it is nominally parametric, but has no really
useful information.protected final LRUMap<java.lang.Object,JavaType> _typeCache
protected final TypeModifier[] _modifiers
TypeModifier
s: objects that can change details
of JavaType
instances factory constructs.protected final TypeParser _parser
protected final java.lang.ClassLoader _classLoader
private TypeFactory()
protected TypeFactory(TypeParser p, TypeModifier[] mods)
protected TypeFactory(TypeParser p, TypeModifier[] mods, java.lang.ClassLoader classLoader)
public TypeFactory withModifier(TypeModifier mod)
public TypeFactory withClassLoader(java.lang.ClassLoader classLoader)
public static TypeFactory defaultInstance()
ObjectMapper
to
get the default factory when constructed.public void clearCache()
TypeFactory
instance.
This method should not be commonly used, that is, only use it
if you know there is a problem with retention of type definitions;
the most likely (and currently only known) problem is retention
of Class
instances via JavaType
reference.public java.lang.ClassLoader getClassLoader()
public static JavaType unknownType()
java.lang.Object
.public static java.lang.Class<?> rawClass(java.lang.reflect.Type t)
public java.lang.Class<?> findClass(java.lang.String className) throws java.lang.ClassNotFoundException
ClassUtil
,
to allow for overriding of lookup functionality in environments like OSGi.java.lang.ClassNotFoundException
protected java.lang.Class<?> classForName(java.lang.String name, boolean initialize, java.lang.ClassLoader loader) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
protected java.lang.Class<?> classForName(java.lang.String name) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundException
protected java.lang.Class<?> _findPrimitive(java.lang.String className)
public JavaType constructSpecializedType(JavaType baseType, java.lang.Class<?> subclass)
HashMap.class
as subclass.private TypeBindings _bindingsForSubtype(JavaType baseType, int typeParamCount, java.lang.Class<?> subclass)
public JavaType constructGeneralizedType(JavaType baseType, java.lang.Class<?> superClass)
constructSpecializedType(com.fasterxml.jackson.databind.JavaType, java.lang.Class<?>)
, but that creates a
less-specific type of given type. Usually this is as simple as simply
finding super-type with type erasure of superClass
, but
there may be need for some additional work-arounds.superClass
- public JavaType constructFromCanonical(java.lang.String canonical) throws java.lang.IllegalArgumentException
JavaType
out of its canonical
representation (see ResolvedType.toCanonical()
).canonical
- Canonical string representation of a typejava.lang.IllegalArgumentException
- If canonical representation is malformed,
or class that type represents (including its generic parameters) is
not foundpublic JavaType[] findTypeParameters(JavaType type, java.lang.Class<?> expType)
type
- Sub-type (leaf type) that implements expType
@Deprecated public JavaType[] findTypeParameters(java.lang.Class<?> clz, java.lang.Class<?> expType, TypeBindings bindings)
@Deprecated public JavaType[] findTypeParameters(java.lang.Class<?> clz, java.lang.Class<?> expType)
public JavaType moreSpecificType(JavaType type1, JavaType type2)
type1
- Primary type to considertype2
- Secondary type to considerpublic JavaType constructType(java.lang.reflect.Type type)
public JavaType constructType(java.lang.reflect.Type type, TypeBindings bindings)
public JavaType constructType(com.fasterxml.jackson.core.type.TypeReference<?> typeRef)
@Deprecated public JavaType constructType(java.lang.reflect.Type type, java.lang.Class<?> contextClass)
@Deprecated public JavaType constructType(java.lang.reflect.Type type, JavaType contextType)
public ArrayType constructArrayType(java.lang.Class<?> elementType)
ArrayType
.
NOTE: type modifiers are NOT called on array type itself; but are called for element type (and other contained types)
public ArrayType constructArrayType(JavaType elementType)
ArrayType
.
NOTE: type modifiers are NOT called on array type itself; but are called for contained types.
public CollectionType constructCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass, java.lang.Class<?> elementClass)
CollectionType
.
NOTE: type modifiers are NOT called on Collection type itself; but are called for contained types.
public CollectionType constructCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass, JavaType elementType)
CollectionType
.
NOTE: type modifiers are NOT called on Collection type itself; but are called for contained types.
public CollectionLikeType constructCollectionLikeType(java.lang.Class<?> collectionClass, java.lang.Class<?> elementClass)
CollectionLikeType
.
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public CollectionLikeType constructCollectionLikeType(java.lang.Class<?> collectionClass, JavaType elementType)
CollectionLikeType
.
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public MapType constructMapType(java.lang.Class<? extends java.util.Map> mapClass, java.lang.Class<?> keyClass, java.lang.Class<?> valueClass)
MapType
instance
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public MapType constructMapType(java.lang.Class<? extends java.util.Map> mapClass, JavaType keyType, JavaType valueType)
MapType
instance
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public MapLikeType constructMapLikeType(java.lang.Class<?> mapClass, java.lang.Class<?> keyClass, java.lang.Class<?> valueClass)
MapLikeType
instance
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public MapLikeType constructMapLikeType(java.lang.Class<?> mapClass, JavaType keyType, JavaType valueType)
MapLikeType
instance
NOTE: type modifiers are NOT called on constructed type itself; but are called for contained types.
public JavaType constructSimpleType(java.lang.Class<?> rawType, JavaType[] parameterTypes)
NOTE: was briefly deprecated for 2.6.
@Deprecated public JavaType constructSimpleType(java.lang.Class<?> rawType, java.lang.Class<?> parameterTarget, JavaType[] parameterTypes)
public JavaType constructReferenceType(java.lang.Class<?> rawType, JavaType referredType)
public JavaType uncheckedSimpleType(java.lang.Class<?> cls)
NOTE: no type modifiers are called on type either, so calling this method should only be used if caller really knows what it's doing...
public JavaType constructParametricType(java.lang.Class<?> parametrized, java.lang.Class<?>... parameterClasses)
JavaType
that
represents a parameterized type. For example, to represent
type List<Set<Integer>>
, you could
call
JavaType inner = TypeFactory.constructParametrizedType(Set.class, Set.class, Integer.class); return TypeFactory.constructParametrizedType(ArrayList.class, List.class, inner);
The reason for first two arguments to be separate is that parameterization may
apply to a super-type. For example, if generic type was instead to be
constructed for ArrayList<Integer>
, the usual call would be:
TypeFactory.constructParametrizedType(ArrayList.class, List.class, Integer.class);since parameterization is applied to
List
.
In most cases distinction does not matter, but there are types where it does;
one such example is parameterization of types that implement Iterator
.
NOTE: type modifiers are NOT called on constructed type.
parametrized
- Actual full typeparameterClasses
- Type parameters to applypublic JavaType constructParametricType(java.lang.Class<?> rawType, JavaType... parameterTypes)
JavaType
that
represents a parameterized type. For example, to represent
type List<Set<Integer>>
, you could
call
JavaType inner = TypeFactory.constructParametrizedType(Set.class, Set.class, Integer.class); return TypeFactory.constructParametrizedType(ArrayList.class, List.class, inner);
The reason for first two arguments to be separate is that parameterization may
apply to a super-type. For example, if generic type was instead to be
constructed for ArrayList<Integer>
, the usual call would be:
TypeFactory.constructParametrizedType(ArrayList.class, List.class, Integer.class);since parameterization is applied to
List
.
In most cases distinction does not matter, but there are types where it does;
one such example is parameterization of types that implement Iterator
.
NOTE: type modifiers are NOT called on constructed type.
rawType
- Actual type-erased typeparameterTypes
- Type parameters to applypublic JavaType constructParametrizedType(java.lang.Class<?> parametrized, java.lang.Class<?> parametersFor, JavaType... parameterTypes)
public JavaType constructParametrizedType(java.lang.Class<?> parametrized, java.lang.Class<?> parametersFor, java.lang.Class<?>... parameterClasses)
public CollectionType constructRawCollectionType(java.lang.Class<? extends java.util.Collection> collectionClass)
Object.class
parameterization,
and is equivalent to calling:
typeFactory.constructCollectionType(collectionClass, typeFactory.unknownType());
This method should only be used if parameterization is completely unavailable.
public CollectionLikeType constructRawCollectionLikeType(java.lang.Class<?> collectionClass)
Object.class
parameterization,
and is equivalent to calling:
typeFactory.constructCollectionLikeType(collectionClass, typeFactory.unknownType());
This method should only be used if parameterization is completely unavailable.
public MapType constructRawMapType(java.lang.Class<? extends java.util.Map> mapClass)
Object.class
parameterization,
and is equivalent to calling:
typeFactory.constructMapType(collectionClass, typeFactory.unknownType(), typeFactory.unknownType());
This method should only be used if parameterization is completely unavailable.
public MapLikeType constructRawMapLikeType(java.lang.Class<?> mapClass)
Object.class
parameterization,
and is equivalent to calling:
typeFactory.constructMapLikeType(collectionClass, typeFactory.unknownType(), typeFactory.unknownType());
This method should only be used if parameterization is completely unavailable.
private JavaType _mapType(java.lang.Class<?> rawClass, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
private JavaType _collectionType(java.lang.Class<?> rawClass, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
private JavaType _referenceType(java.lang.Class<?> rawClass, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
protected JavaType _constructSimple(java.lang.Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
JavaType
is needed,
no generic parameters are passed. Default implementation may check
pre-constructed values for "well-known" types, but if none found
will simply call _newSimpleType(java.lang.Class<?>, com.fasterxml.jackson.databind.type.TypeBindings, com.fasterxml.jackson.databind.JavaType, com.fasterxml.jackson.databind.JavaType[])
protected JavaType _newSimpleType(java.lang.Class<?> raw, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
SimpleType
with no
checks whatsoever. Default implementation calls the single argument
constructor of SimpleType
.protected JavaType _unknownType()
protected JavaType _findWellKnownSimple(java.lang.Class<?> clz)
protected JavaType _fromAny(ClassStack context, java.lang.reflect.Type type, TypeBindings bindings)
getGenericXxx
methods
(usually for a return or argument type).protected JavaType _fromClass(ClassStack context, java.lang.Class<?> rawType, TypeBindings bindings)
bindings
- Mapping of formal parameter declarations (for generic
types) into actual typesprotected JavaType _resolveSuperClass(ClassStack context, java.lang.Class<?> rawType, TypeBindings parentBindings)
protected JavaType[] _resolveSuperInterfaces(ClassStack context, java.lang.Class<?> rawType, TypeBindings parentBindings)
protected JavaType _fromWellKnownClass(ClassStack context, java.lang.Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
JavaType
implementation.protected JavaType _fromWellKnownInterface(ClassStack context, java.lang.Class<?> rawType, TypeBindings bindings, JavaType superClass, JavaType[] superInterfaces)
protected JavaType _fromParamType(ClassStack context, java.lang.reflect.ParameterizedType ptype, TypeBindings parentBindings)
protected JavaType _fromArrayType(ClassStack context, java.lang.reflect.GenericArrayType type, TypeBindings bindings)
protected JavaType _fromVariable(ClassStack context, java.lang.reflect.TypeVariable<?> var, TypeBindings bindings)
protected JavaType _fromWildcard(ClassStack context, java.lang.reflect.WildcardType type, TypeBindings bindings)