Package com.google.inject.internal
Class MoreTypes
java.lang.Object
com.google.inject.internal.MoreTypes
Static methods for working with types that we aren't publishing in the public
Types API.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static interfaceA type formed from other types, such as arrays, parameterized types or wildcard typesstatic classstatic classstatic classThe WildcardType interface supports multiple upper bounds and multiple lower bounds. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Type[]private static final com.google.common.collect.ImmutableMap<TypeLiteral<?>,TypeLiteral<?>> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic Typecanonicalize(Type type) Returns a type that is functionally equal but not necessarily equal according toObject.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.private static voidcheckNotPrimitive(Type type, String use) private static Class<?>declaringClassOf(TypeVariable typeVariable) Returns the declaring class oftypeVariable, ornullif it was not declared by a class.static booleanReturns true ifaandbare equal.static TypegetGenericSupertype(Type type, Class<?> rawType, Class<?> toResolve) Returns the generic supertype fortype.static Class<?>getRawType(Type type) private static intprivate static intprivate static booleanisFullySpecified(Type type) Returns true iftypeis free from type variables.static TyperesolveTypeVariable(Type type, Class<?> rawType, TypeVariable unknown) static StringtypeToString(Type type)
-
Field Details
-
EMPTY_TYPE_ARRAY
-
PRIMITIVE_TO_WRAPPER
private static final com.google.common.collect.ImmutableMap<TypeLiteral<?>,TypeLiteral<?>> PRIMITIVE_TO_WRAPPER
-
-
Constructor Details
-
MoreTypes
private MoreTypes()
-
-
Method Details
-
canonicalizeKey
Returns a key that doesn't hold any references to parent classes. This is necessary for anonymous keys, so ensure we don't hold a ref to the containing module (or class) forever. -
canonicalizeForKey
Returns an type that's appropriate for use in a key.If the raw type of
typeLiteralis ajavax.inject.Provider, this returns acom.google.inject.Providerwith the same type parameters.If the type is a primitive, the corresponding wrapper type will be returned.
- Throws:
ConfigurationException- iftypecontains a type variable
-
isFullySpecified
Returns true iftypeis free from type variables. -
canonicalize
Returns a type that is functionally equal but not necessarily equal according toObject.equals(). The returned type isSerializable. -
getRawType
-
equals
Returns true ifaandbare equal. -
hashCodeOrZero
-
typeToString
-
getGenericSupertype
Returns the generic supertype fortype. For example, given a classIntegerSet, the result for when supertype isSet.classisSet<Integer>and the result when the supertype isCollection.classisCollection<Integer>. -
resolveTypeVariable
-
indexOf
-
declaringClassOf
Returns the declaring class oftypeVariable, ornullif it was not declared by a class. -
checkNotPrimitive
-