java.lang.Object
tools.jackson.core.type.TypeReference<T>
- All Implemented Interfaces:
Comparable<TypeReference<T>>
This generic abstract class is used for obtaining full generics type information
by sub-classing; it must be converted to
ResolvedType implementation
(implemented by JavaType from "databind" bundle) to be used.
Class is based on ideas from
http://gafter.blogspot.com/2006/12/super-type-tokens.html,
Additional idea (from a suggestion made in comments of the article)
is to require bogus implementation of Comparable
(any such generic interface would do, as long as it forces a method
with generic type to be implemented).
to ensure that a Type argument is indeed given.
Usage is by sub-classing: here is one way to instantiate reference
to generic type List<Integer>:
TypeReference ref = new TypeReference<List<Integer>>() { };
which can be passed to methods that accept TypeReference, or resolved
using TypeFactory to obtain ResolvedType.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintcompareTo(TypeReference<T> o) The only reason we define this method (and require implementation ofComparable) is to prevent constructing a reference without type information.getType()
-
Field Details
-
_type
-
-
Constructor Details
-
TypeReference
protected TypeReference()
-
-
Method Details
-
getType
-
compareTo
The only reason we define this method (and require implementation ofComparable) is to prevent constructing a reference without type information.- Specified by:
compareToin interfaceComparable<T>
-