Package com.google.common.reflect
Class Types
- java.lang.Object
-
- com.google.common.reflect.Types
-
final class Types extends java.lang.Object
Utilities for working withType
.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Types.ClassOwnership
Decides what owner type to use for constructingParameterizedType
from a raw class.private static class
Types.GenericArrayTypeImpl
(package private) static class
Types.JavaVersion
(package private) static class
Types.NativeTypeVariableEquals<X>
Per issue 1635, In JDK 1.7.0_51-b13,Types.TypeVariableImpl.equals(Object)
is changed to no longer be equal to custom TypeVariable implementations.private static class
Types.ParameterizedTypeImpl
private static class
Types.TypeVariableImpl<D extends java.lang.reflect.GenericDeclaration>
private static class
Types.TypeVariableInvocationHandler
Invocation handler to work around a compatibility problem between Java 7 and Java 8.(package private) static class
Types.WildcardTypeImpl
-
Field Summary
Fields Modifier and Type Field Description private static Joiner
COMMA_JOINER
private static Function<java.lang.reflect.Type,java.lang.String>
TYPE_NAME
Class#toString without the "class " and "interface " prefixes
-
Constructor Summary
Constructors Modifier Constructor Description private
Types()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description private static void
disallowPrimitiveType(java.lang.reflect.Type[] types, java.lang.String usedAs)
private static java.lang.Iterable<java.lang.reflect.Type>
filterUpperBounds(java.lang.Iterable<java.lang.reflect.Type> bounds)
(package private) static java.lang.Class<?>
getArrayClass(java.lang.Class<?> componentType)
Returns theClass
object of arrays withcomponentType
.(package private) static java.lang.reflect.Type
getComponentType(java.lang.reflect.Type type)
(package private) static java.lang.reflect.Type
newArrayType(java.lang.reflect.Type componentType)
Returns the array type ofcomponentType
.(package private) static <D extends java.lang.reflect.GenericDeclaration>
java.lang.reflect.TypeVariable<D>newArtificialTypeVariable(D declaration, java.lang.String name, java.lang.reflect.Type... bounds)
Returns a newTypeVariable
that belongs todeclaration
withname
andbounds
.(package private) static java.lang.reflect.ParameterizedType
newParameterizedType(java.lang.Class<?> rawType, java.lang.reflect.Type... arguments)
Returns a type whererawType
is parameterized byarguments
.(package private) static java.lang.reflect.ParameterizedType
newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType, java.lang.Class<?> rawType, java.lang.reflect.Type... arguments)
Returns a type whererawType
is parameterized byarguments
and is owned byownerType
.private static <D extends java.lang.reflect.GenericDeclaration>
java.lang.reflect.TypeVariable<D>newTypeVariableImpl(D genericDeclaration, java.lang.String name, java.lang.reflect.Type[] bounds)
(package private) static java.lang.reflect.WildcardType
subtypeOf(java.lang.reflect.Type upperBound)
Returns a newWildcardType
withupperBound
.private static java.lang.reflect.Type
subtypeOfComponentType(java.lang.reflect.Type[] bounds)
Returns? extends X
if any ofbounds
is a subtype ofX[]
; or null otherwise.(package private) static java.lang.reflect.WildcardType
supertypeOf(java.lang.reflect.Type lowerBound)
Returns a newWildcardType
withlowerBound
.private static java.lang.reflect.Type[]
toArray(java.util.Collection<java.lang.reflect.Type> types)
(package private) static java.lang.String
toString(java.lang.reflect.Type type)
Returns human readable string representation oftype
.
-
-
-
Method Detail
-
newArrayType
static java.lang.reflect.Type newArrayType(java.lang.reflect.Type componentType)
Returns the array type ofcomponentType
.
-
newParameterizedTypeWithOwner
static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(@CheckForNull java.lang.reflect.Type ownerType, java.lang.Class<?> rawType, java.lang.reflect.Type... arguments)
Returns a type whererawType
is parameterized byarguments
and is owned byownerType
.
-
newParameterizedType
static java.lang.reflect.ParameterizedType newParameterizedType(java.lang.Class<?> rawType, java.lang.reflect.Type... arguments)
Returns a type whererawType
is parameterized byarguments
.
-
newArtificialTypeVariable
static <D extends java.lang.reflect.GenericDeclaration> java.lang.reflect.TypeVariable<D> newArtificialTypeVariable(D declaration, java.lang.String name, java.lang.reflect.Type... bounds)
Returns a newTypeVariable
that belongs todeclaration
withname
andbounds
.
-
subtypeOf
static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type upperBound)
Returns a newWildcardType
withupperBound
.
-
supertypeOf
static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type lowerBound)
Returns a newWildcardType
withlowerBound
.
-
toString
static java.lang.String toString(java.lang.reflect.Type type)
Returns human readable string representation oftype
.The format is subject to change.
-
getComponentType
@CheckForNull static java.lang.reflect.Type getComponentType(java.lang.reflect.Type type)
-
subtypeOfComponentType
@CheckForNull private static java.lang.reflect.Type subtypeOfComponentType(java.lang.reflect.Type[] bounds)
Returns? extends X
if any ofbounds
is a subtype ofX[]
; or null otherwise.
-
newTypeVariableImpl
private static <D extends java.lang.reflect.GenericDeclaration> java.lang.reflect.TypeVariable<D> newTypeVariableImpl(D genericDeclaration, java.lang.String name, java.lang.reflect.Type[] bounds)
-
toArray
private static java.lang.reflect.Type[] toArray(java.util.Collection<java.lang.reflect.Type> types)
-
filterUpperBounds
private static java.lang.Iterable<java.lang.reflect.Type> filterUpperBounds(java.lang.Iterable<java.lang.reflect.Type> bounds)
-
disallowPrimitiveType
private static void disallowPrimitiveType(java.lang.reflect.Type[] types, java.lang.String usedAs)
-
getArrayClass
static java.lang.Class<?> getArrayClass(java.lang.Class<?> componentType)
Returns theClass
object of arrays withcomponentType
.
-
-