com.google.inject.internal
Class MoreTypes

java.lang.Object
  extended by com.google.inject.internal.MoreTypes

public class MoreTypes
extends java.lang.Object

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
static class MoreTypes.GenericArrayTypeImpl
           
static class MoreTypes.MemberImpl
          We cannot serialize the built-in Java member classes, which prevents us from using Members in our exception types.
static class MoreTypes.ParameterizedTypeImpl
           
static class MoreTypes.WildcardTypeImpl
          The WildcardType interface supports multiple upper bounds and multiple lower bounds.
 
Field Summary
static java.lang.reflect.Type[] EMPTY_TYPE_ARRAY
           
 
Method Summary
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 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 supertype.
static java.lang.Class<?> getRawType(java.lang.reflect.Type type)
           
static int hashCode(java.lang.reflect.Type type)
          Returns the hashCode of type.
static
<T> TypeLiteral<T>
makeKeySafe(TypeLiteral<T> type)
          Returns an equivalent type that's safe for use in a key.
static java.lang.String memberKey(java.lang.reflect.Member member)
           
static java.lang.Class<? extends java.lang.reflect.Member> memberType(java.lang.reflect.Member member)
          Returns Field.class, Method.class or Constructor.class.
static java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type type, java.lang.Class<?> rawType, java.lang.reflect.TypeVariable unknown)
           
static java.lang.reflect.Member serializableCopy(java.lang.reflect.Member member)
          Returns a type that's functionally equal but not necessarily equal according to Object.equals.
static java.lang.String toString(java.lang.reflect.Member member)
          Formats a member as concise string, such as java.util.ArrayList.size, java.util.ArrayList<init>() or java.util.List.remove().
static java.lang.String toString(java.lang.reflect.Type type)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

EMPTY_TYPE_ARRAY

public static final java.lang.reflect.Type[] EMPTY_TYPE_ARRAY
Method Detail

makeKeySafe

public static <T> TypeLiteral<T> makeKeySafe(TypeLiteral<T> type)
Returns an equivalent type that's safe for use in a key. The returned type will be free of primitive types. Type literals of primitives will return the corresponding wrapper types.

Throws:
ConfigurationException - if type contains a type variable

canonicalize

public 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(). The returned type is Serializable.


serializableCopy

public static java.lang.reflect.Member serializableCopy(java.lang.reflect.Member member)
Returns a type that's functionally equal but not necessarily equal according to Object.equals. The returned member is Serializable.


getRawType

public static java.lang.Class<?> getRawType(java.lang.reflect.Type type)

equals

public static boolean equals(java.lang.reflect.Type a,
                             java.lang.reflect.Type b)
Returns true if a and b are equal.


hashCode

public static int hashCode(java.lang.reflect.Type type)
Returns the hashCode of type.


toString

public static java.lang.String toString(java.lang.reflect.Type type)

memberType

public static java.lang.Class<? extends java.lang.reflect.Member> memberType(java.lang.reflect.Member member)
Returns Field.class, Method.class or Constructor.class.


toString

public static java.lang.String toString(java.lang.reflect.Member member)
Formats a member as concise string, such as java.util.ArrayList.size, java.util.ArrayList<init>() or java.util.List.remove().


memberKey

public static java.lang.String memberKey(java.lang.reflect.Member member)

getGenericSupertype

public static java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type type,
                                                         java.lang.Class<?> rawType,
                                                         java.lang.Class<?> toResolve)
Returns the generic supertype for supertype. 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>.


resolveTypeVariable

public static java.lang.reflect.Type resolveTypeVariable(java.lang.reflect.Type type,
                                                         java.lang.Class<?> rawType,
                                                         java.lang.reflect.TypeVariable unknown)


Copyright © 2011. All Rights Reserved.