public final class TypeResolver extends Object
Modifier and Type | Class and Description |
---|---|
static class |
TypeResolver.Unknown
An unknown type.
|
Modifier and Type | Method and Description |
---|---|
static void |
disableCache()
Disables the internal caching of resolved TypeVariables.
|
static void |
enableCache()
Enables the internal caching of resolved TypeVariables.
|
static Type |
resolveBound(TypeVariable<?> typeVariable)
Resolves the first bound for the
typeVariable , returning Unknown.class if none
can be resolved. |
static Type |
resolveGenericType(Class<?> type,
Type subType)
Returns the generic
type using type variable information from the subType else
null if the generic type cannot be resolved. |
static <T,S extends T> |
resolveRawArgument(Class<T> type,
Class<S> subType)
Returns the raw class representing the type argument for the
type using type variable
information from the subType . |
static Class<?> |
resolveRawArgument(Type genericType,
Class<?> subType)
Returns the raw class representing the type argument for the
genericType using type
variable information from the subType . |
static <T,S extends T> |
resolveRawArguments(Class<T> type,
Class<S> subType)
Returns an array of raw classes representing type arguments for the
type using type
variable information from the subType . |
static Class<?>[] |
resolveRawArguments(Type genericType,
Class<?> subType)
Returns an array of raw classes representing type arguments for the
genericType using
type variable information from the subType . |
static Class<?> |
resolveRawClass(Type genericType,
Class<?> subType)
Resolves the raw class for the
genericType , using the type variable information from
the subType else TypeResolver.Unknown if the raw class cannot be resolved. |
public static void enableCache()
public static void disableCache()
public static <T,S extends T> Class<?> resolveRawArgument(Class<T> type, Class<S> subType)
type
using type variable
information from the subType
. If no arguments can be resolved then
Unknown.class
is returned.type
- to resolve argument forsubType
- to extract type variable information fromtype
else Unknown.class
if no type arguments are
declaredIllegalArgumentException
- if more or less than one type argument is resolved for the
type
public static Class<?> resolveRawArgument(Type genericType, Class<?> subType)
genericType
using type
variable information from the subType
. If genericType
is an instance of class,
then genericType
is returned. If no arguments can be resolved then
Unknown.class
is returned.genericType
- to resolve argument forsubType
- to extract type variable information fromgenericType
else Unknown.class
if no type arguments
are declaredIllegalArgumentException
- if more or less than one type argument is resolved for the
genericType
public static <T,S extends T> Class<?>[] resolveRawArguments(Class<T> type, Class<S> subType)
type
using type
variable information from the subType
. Arguments for type
that cannot be
resolved are returned as Unknown.class
. If no arguments can be resolved then
null
is returned.type
- to resolve arguments forsubType
- to extract type variable information fromtype
else null
if no type arguments are declaredpublic static Class<?>[] resolveRawArguments(Type genericType, Class<?> subType)
genericType
using
type variable information from the subType
. Arguments for genericType
that
cannot be resolved are returned as Unknown.class
. If no arguments can be resolved then
null
is returned.genericType
- to resolve arguments forsubType
- to extract type variable information fromgenericType
else
null
if no type arguments are declaredpublic static Type resolveGenericType(Class<?> type, Type subType)
type
using type variable information from the subType
else
null
if the generic type cannot be resolved.type
- to resolve generic type forsubType
- to extract type variable information fromtype
else null
if it cannot be resolvedpublic static Class<?> resolveRawClass(Type genericType, Class<?> subType)
genericType
, using the type variable information from
the subType
else TypeResolver.Unknown
if the raw class cannot be resolved.type
- to resolve raw class forsubType
- to extract type variable information fromgenericType
else TypeResolver.Unknown
if it cannot be resolvedpublic static Type resolveBound(TypeVariable<?> typeVariable)
typeVariable
, returning Unknown.class
if none
can be resolved.Copyright © 2015 JBoss by Red Hat. All Rights Reserved.