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.
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
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> TypeReference<T>
createInstance
(Class<T> clazz) Returns theClass
representing instance of theTypeReference
created.Returns theType
representingT
.
-
Constructor Details
-
TypeReference
public TypeReference()Constructs a newTypeReference
which maintains generic information.- Throws:
IllegalArgumentException
- If the reference is constructed without type information.
-
-
Method Details
-
getJavaType
Returns theType
representingT
.- Returns:
- The
Type
representingT
.
-
createInstance
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
.
-
getJavaClass
Returns theClass
representing instance of theTypeReference
created.- Returns:
- The
Class
representing instance of theTypeReference
created using thecreateInstance(Class)
, otherwise returnsnull
.
-