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
typepublic 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
genericTypepublic 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 © 2014 JBoss by Red Hat. All Rights Reserved.