public class MoreTypes
extends java.lang.Object
Types
API.Modifier and Type | Class and Description |
---|---|
static class |
MoreTypes.GenericArrayTypeImpl |
static class |
MoreTypes.ParameterizedTypeImpl |
static class |
MoreTypes.WildcardTypeImpl
The WildcardType interface supports multiple upper bounds and multiple
lower bounds.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.reflect.Type[] |
EMPTY_TYPE_ARRAY |
Modifier and Type | Method and Description |
---|---|
static java.lang.reflect.Type |
canonicalize(java.lang.reflect.Type type)
Returns a type that is functionally equal but not necessarily equal
according to
Object.equals() . |
static <T> TypeLiteral<T> |
canonicalizeForKey(TypeLiteral<T> typeLiteral)
Returns an type that's appropriate for use in a key.
|
static <T> Key<T> |
canonicalizeKey(Key<T> key)
Returns a key that doesn't hold any references to parent classes.
|
static boolean |
equals(java.lang.reflect.Type a,
java.lang.reflect.Type b)
Returns true if
a and b are equal. |
static java.lang.reflect.Type |
getGenericSupertype(java.lang.reflect.Type type,
java.lang.Class<?> rawType,
java.lang.Class<?> toResolve)
Returns the generic supertype for
type . |
static java.lang.Class<?> |
getRawType(java.lang.reflect.Type type) |
static java.lang.reflect.Type |
resolveTypeVariable(java.lang.reflect.Type type,
java.lang.Class<?> rawType,
java.lang.reflect.TypeVariable unknown) |
static java.lang.String |
typeToString(java.lang.reflect.Type type) |
public static <T> Key<T> canonicalizeKey(Key<T> key)
public static <T> TypeLiteral<T> canonicalizeForKey(TypeLiteral<T> typeLiteral)
If the raw type of typeLiteral
is a javax.inject.Provider
, this returns a
com.google.inject.Provider
with the same type parameters.
If the type is a primitive, the corresponding wrapper type will be returned.
ConfigurationException
- if type
contains a type variablepublic static java.lang.reflect.Type canonicalize(java.lang.reflect.Type type)
Object.equals()
. The returned
type is Serializable
.public static java.lang.Class<?> getRawType(java.lang.reflect.Type type)
public static boolean equals(java.lang.reflect.Type a, java.lang.reflect.Type b)
a
and b
are equal.public static java.lang.String typeToString(java.lang.reflect.Type type)
public static java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type type, java.lang.Class<?> rawType, java.lang.Class<?> toResolve)
type
. For example, given a class IntegerSet
,
the result for when supertype is Set.class
is Set<Integer>
and the result
when the supertype is Collection.class
is Collection<Integer>
.public static java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type type, java.lang.Class<?> rawType, java.lang.reflect.TypeVariable unknown)
Copyright © 2006-2018 Google, Inc.. All Rights Reserved.