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.- Author:
- jessewilson@google.com (Jesse Wilson)
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic classThe WildcardType interface supports multiple upper bounds and multiple lower bounds. -
Field Summary
Fields -
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.static booleanReturns true ifaandbare equal.static TypegetGenericSupertype(Type type, Class<?> rawType, Class<?> toResolve) Returns the generic supertype fortype.static Class<?> getRawType(Type type) static TyperesolveTypeVariable(Type type, Class<?> rawType, TypeVariable<?> unknown) static StringtypeToString(Type type)
-
Field Details
-
EMPTY_TYPE_ARRAY
-
-
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.Providerorjakarta.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
-
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. -
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
-