java.lang.Object | |
↳ | com.google.inject.TypeLiteral<T> |
Represents a generic type T
. Java doesn't yet provide a way to
represent generic types, so this class does. Forces clients to create a
subclass of this class which enables retrieval the type information even at
runtime.
For example, to create a type literal for List<String>
, you can
create an empty anonymous inner class:
TypeLiteral<List<String>> list = new TypeLiteral<List<String>>() {
;}
Along with modeling generic types, this class can resolve type parameters.
For example, to figure out what type keySet()
returns on a Map<Integer, String>
, use this code:
TypeLiteral<Map<Integer, String>> mapType = new TypeLiteral<Map<Integer, String>>() {
; TypeLiteral> keySetType = mapType.getReturnType(Map.class.getMethod("keySet")); System.out.println(keySetType); // prints "Set"}
Protected Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a new type literal.
|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Gets type literal for the given
Class instance. | |||||||||||
Gets type literal for the given
Type instance. | |||||||||||
Returns the resolved generic exception types thrown by
constructor . | |||||||||||
Returns the resolved generic type of
field . | |||||||||||
Returns the resolved generic parameter types of
methodOrConstructor . | |||||||||||
Returns the raw (non-generic) type for this type.
| |||||||||||
Returns the resolved generic return type of
method . | |||||||||||
Returns the generic form of
supertype . | |||||||||||
Gets underlying
Type instance. | |||||||||||
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Constructs a new type literal. Derives represented class from type parameter.
Clients create an empty anonymous subclass. Doing so embeds the type parameter in the anonymous class's type hierarchy so we can reconstitute it at runtime despite erasure.
Gets type literal for the given Class
instance.
Gets type literal for the given Type
instance.
Returns the resolved generic exception types thrown by constructor
.
methodOrConstructor | a method or constructor defined by this or any supertype. |
---|
Returns the resolved generic type of field
.
field | a field defined by this or any superclass. |
---|
Returns the resolved generic parameter types of methodOrConstructor
.
methodOrConstructor | a method or constructor defined by this or any supertype. |
---|
Returns the raw (non-generic) type for this type.
Returns the resolved generic return type of method
.
method | a method defined by this or any supertype. |
---|
Returns the generic form of supertype
. For example, if this is ArrayList<String>
, this returns Iterable<String>
given the input Iterable.class
.
supertype | a superclass of, or interface implemented by, this. |
---|