com.google.gson.internal
Class $Gson$Types

java.lang.Object
  extended by com.google.gson.internal.$Gson$Types

public final class $Gson$Types
extends java.lang.Object

Static methods for working with types.

Author:
Bob Lee, Jesse Wilson

Method Summary
static java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type componentType)
          Returns an array type whose elements are all instances of componentType.
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 getArrayComponentType(java.lang.reflect.Type array)
          Returns the component type of this array type.
static java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type context, java.lang.Class<?> contextRawType)
          Returns the element type of this collection type.
static java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type context, java.lang.Class<?> contextRawType)
          Returns a two element array containing this map's key and value types in positions 0 and 1 respectively.
static java.lang.Class<?> getRawType(java.lang.reflect.Type type)
           
static boolean isArray(java.lang.reflect.Type type)
          Returns true if this type is an array.
static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType, java.lang.reflect.Type rawType, java.lang.reflect.Type... typeArguments)
          Returns a new parameterized type, applying typeArguments to rawType and enclosed by ownerType.
static java.lang.reflect.Type resolve(java.lang.reflect.Type context, java.lang.Class<?> contextRawType, java.lang.reflect.Type toResolve)
           
static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type bound)
          Returns a type that represents an unknown type that extends bound.
static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type bound)
          Returns a type that represents an unknown supertype of bound.
static java.lang.String typeToString(java.lang.reflect.Type type)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

newParameterizedTypeWithOwner

public static java.lang.reflect.ParameterizedType newParameterizedTypeWithOwner(java.lang.reflect.Type ownerType,
                                                                                java.lang.reflect.Type rawType,
                                                                                java.lang.reflect.Type... typeArguments)
Returns a new parameterized type, applying typeArguments to rawType and enclosed by ownerType.

Returns:
a serializable parameterized type.

arrayOf

public static java.lang.reflect.GenericArrayType arrayOf(java.lang.reflect.Type componentType)
Returns an array type whose elements are all instances of componentType.

Returns:
a serializable generic array type.

subtypeOf

public static java.lang.reflect.WildcardType subtypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown type that extends bound. For example, if bound is CharSequence.class, this returns ? extends CharSequence. If bound is Object.class, this returns ?, which is shorthand for ? extends Object.


supertypeOf

public static java.lang.reflect.WildcardType supertypeOf(java.lang.reflect.Type bound)
Returns a type that represents an unknown supertype of bound. For example, if bound is String.class, this returns ? super String.


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.


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.


typeToString

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

isArray

public static boolean isArray(java.lang.reflect.Type type)
Returns true if this type is an array.


getArrayComponentType

public static java.lang.reflect.Type getArrayComponentType(java.lang.reflect.Type array)
Returns the component type of this array type.

Throws:
java.lang.ClassCastException - if this type is not an array.

getCollectionElementType

public static java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type context,
                                                              java.lang.Class<?> contextRawType)
Returns the element type of this collection type.

Throws:
java.lang.IllegalArgumentException - if this type is not a collection.

getMapKeyAndValueTypes

public static java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type context,
                                                              java.lang.Class<?> contextRawType)
Returns a two element array containing this map's key and value types in positions 0 and 1 respectively.


resolve

public static java.lang.reflect.Type resolve(java.lang.reflect.Type context,
                                             java.lang.Class<?> contextRawType,
                                             java.lang.reflect.Type toResolve)


Copyright © 2008-2011 Google, Inc.. All Rights Reserved.