com.google.gson.reflect
Class TypeToken<T>

java.lang.Object
  extended by com.google.gson.reflect.TypeToken<T>

public class TypeToken<T>
extends Object

Represents a generic type T. Java doesn't yet provide a way to represent generic types, so this class does. Forces clients to create a subclass of this class which enables retrieval the type information even at runtime.

For example, to create a type literal for List<String>, you can create an empty anonymous inner class:

TypeToken<List<String>> list = new TypeToken<List<String>>() {};

This syntax cannot be used to create type literals that have wildcard parameters, such as Class<?> or List<? extends CharSequence>.

Author:
Bob Lee, Sven Mawson, Jesse Wilson

Constructor Summary
protected TypeToken()
          Constructs a new type literal.
 
Method Summary
 boolean equals(Object o)
           
static
<T> TypeToken<T>
get(Class<T> type)
          Gets type literal for the given Class instance.
static TypeToken<?> get(Type type)
          Gets type literal for the given Type instance.
 Class<? super T> getRawType()
          Returns the raw (non-generic) type for this type.
 Type getType()
          Gets underlying Type instance.
 int hashCode()
           
 boolean isAssignableFrom(Class<?> cls)
          Deprecated. this implementation may be inconsistent with javac for types with wildcards.
 boolean isAssignableFrom(Type from)
          Deprecated. this implementation may be inconsistent with javac for types with wildcards.
 boolean isAssignableFrom(TypeToken<?> token)
          Deprecated. this implementation may be inconsistent with javac for types with wildcards.
 String toString()
           
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TypeToken

protected TypeToken()
Constructs a new type literal. Derives represented class from type parameter.

Clients create an empty anonymous subclass. Doing so embeds the type parameter in the anonymous class's type hierarchy so we can reconstitute it at runtime despite erasure.

Method Detail

getRawType

public final Class<? super T> getRawType()
Returns the raw (non-generic) type for this type.


getType

public final Type getType()
Gets underlying Type instance.


isAssignableFrom

@Deprecated
public boolean isAssignableFrom(Class<?> cls)
Deprecated. this implementation may be inconsistent with javac for types with wildcards.

Check if this type is assignable from the given class object.


isAssignableFrom

@Deprecated
public boolean isAssignableFrom(Type from)
Deprecated. this implementation may be inconsistent with javac for types with wildcards.

Check if this type is assignable from the given Type.


isAssignableFrom

@Deprecated
public boolean isAssignableFrom(TypeToken<?> token)
Deprecated. this implementation may be inconsistent with javac for types with wildcards.

Check if this type is assignable from the given type token.


hashCode

public final int hashCode()
Overrides:
hashCode in class Object

equals

public final boolean equals(Object o)
Overrides:
equals in class Object

toString

public final String toString()
Overrides:
toString in class Object

get

public static TypeToken<?> get(Type type)
Gets type literal for the given Type instance.


get

public static <T> TypeToken<T> get(Class<T> type)
Gets type literal for the given Class instance.



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