Class TypeResolver
where(java.lang.reflect.Type, java.lang.reflect.Type) and types are resolved using resolveType(java.lang.reflect.Type).
Note that usually type mappings are already implied by the static type hierarchy (for example,
the E type variable declared by class List naturally maps to String in
the context of class MyStringList implements List<String>). In such case, prefer to use
TypeToken.resolveType(java.lang.reflect.Type) since it's simpler and more type safe. This class should only be
used when the type mapping isn't implied by the static type hierarchy, but provided through other
means such as an annotation or external configuration file.
- Since:
- 15.0
- Author:
- Ben Yu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionresolveType(Type type) Resolves all type variables intypeand all downstream types and returns a corresponding type with type variables resolved.Returns a newTypeResolverwith type variables informalmapping to types inactual.
-
Constructor Details
-
TypeResolver
public TypeResolver()
-
-
Method Details
-
where
Returns a newTypeResolverwith type variables informalmapping to types inactual.For example, if
formalis aTypeVariable T, andactualisString.class, thennew TypeResolver().where(formal, actual)will resolveParameterizedType List<T>toList<String>, and resolveMap<T, Something>toMap<String, Something>etc. Similarly,formalandactualcan beMap<K, V>andMap<String, Integer>respectively, or they can beE[]andString[]respectively, or even any arbitrary combination thereof.- Parameters:
formal- The type whose type variables or itself is mapped to other type(s). It's almost always a bug ifformalisn't a type variable and contains no type variable. Make sure you are passing the two parameters in the right order.actual- The type that the formal type variable(s) are mapped to. It can be or contain yet other type variables, in which case these type variables will be further resolved if corresponding mappings exist in the currentTypeResolverinstance.
-
resolveType
-