Package com.azure.core.util.serializer
Class TypeReference<T>
- java.lang.Object
-
- com.azure.core.util.serializer.TypeReference<T>
-
- Type Parameters:
T
- The type being represented.
public abstract class TypeReference<T> extends Object
This class represents a generic Java type, retaining information about generics.Code sample
// Construct a TypeReference<T> for a Java generic type. // This pattern should only be used for generic types, for classes use the createInstance factory method. TypeReference<Map<String, Object>> typeReference = new TypeReference<Map<String, Object>>() { };
// Construct a TypeReference<T> for a Java class. // This pattern should only be used for non-generic classes when possible, use the constructor for generic // class when possible. TypeReference<Integer> typeReference = TypeReference.createInstance(int.class);
-
-
Constructor Summary
Constructors Constructor Description TypeReference()
Constructs a newTypeReference
which maintains generic information.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static <T> TypeReference<T>
createInstance(Class<T> clazz)
Type
getJavaType()
Returns theType
representingT
.
-
-
-
Constructor Detail
-
TypeReference
public TypeReference()
Constructs a newTypeReference
which maintains generic information.- Throws:
IllegalArgumentException
- If the reference is constructed without type information.
-
-
Method Detail
-
getJavaType
public Type getJavaType()
Returns theType
representingT
.- Returns:
- The
Type
representingT
.
-
createInstance
public static <T> TypeReference<T> createInstance(Class<T> clazz)
Creates and instance ofTypeReference
which maintains the genericT
of the passedClass
.This method will cache the instance of
TypeReference
using the passedClass
as the key. This is meant to be used with non-generic types such as primitive object types and POJOs, notMap<String, Object>
orList<Integer>
parameterized types.- Type Parameters:
T
- The generic type.- Parameters:
clazz
-Class
that contains generic information used to create theTypeReference
.- Returns:
- Either the cached or new instance of
TypeReference
.
-
-