Class $Gson$Types


  • public final class $Gson$Types
    extends java.lang.Object
    Static methods for working with types.
    Author:
    Bob Lee, Jesse Wilson
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      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 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

        clone, equals, finalize, 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)
      • 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)