Package org.springframework.core
Class ParameterizedTypeReference<T>
- java.lang.Object
- org.springframework.core.ParameterizedTypeReference<T>
- Type Parameters:
T
- the referenced type
public abstract class ParameterizedTypeReference<T> extends Object
The purpose of this class is to enable capturing and passing a genericType
. In order to capture the generic type and retain it at runtime, you need to create a subclass (ideally as anonymous inline class) as follows:ParameterizedTypeReference<List<String>> typeRef = new ParameterizedTypeReference<List<String>>() {};
The resulting
typeRef
instance can then be used to obtain aType
instance that carries the captured parameterized type information at runtime. For more information on "super type tokens" see the link to Neal Gafter's blog post.- Since:
- 3.2
- Author:
- Arjen Poutsma, Rossen Stoyanchev
- See Also:
- Neal Gafter on Super Type Tokens
Constructor Summary
Constructors Modifier Constructor Description protected
ParameterizedTypeReference()
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
static <T> ParameterizedTypeReference<T>
forType(Type type)
Build aParameterizedTypeReference
wrapping the given type.Type
getType()
int
hashCode()
String
toString()
Constructor Detail
ParameterizedTypeReference
protected ParameterizedTypeReference()
Method Detail
forType
public static <T> ParameterizedTypeReference<T> forType(Type type)
Build aParameterizedTypeReference
wrapping the given type.- Parameters:
type
- a generic type (possibly obtained via reflection, e.g. fromMethod.getGenericReturnType()
)- Returns:
- a corresponding reference which may be passed into
ParameterizedTypeReference
-accepting methods - Since:
- 4.3.12