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 argument for the
type using type variable information from the
subType. |
static Class<?> |
resolveRawArgument(Type genericType,
Class<?> subType)
Returns the raw class representing the 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 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 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 TypeResolver.Unknown.class if no type arguments are declaredIllegalArgumentException - if more or less than one 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 TypeResolver.Unknown.class if no type arguments are declaredIllegalArgumentException - if more or less than one 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.genericType - 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 © 2017. All Rights Reserved.