Class $Gson$Types


  • public final class $Gson$Types
    extends java.lang.Object
    Static methods for working with types.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) static java.lang.reflect.Type[] EMPTY_TYPE_ARRAY  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private $Gson$Types()  
    • 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().
      (package private) static void checkNotPrimitive​(java.lang.reflect.Type type)  
      private static java.lang.Class<?> declaringClassOf​(java.lang.reflect.TypeVariable<?> typeVariable)
      Returns the declaring class of typeVariable, or null if it was not declared by a class.
      (package private) static boolean equal​(java.lang.Object a, java.lang.Object b)  
      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.
      (package private) static java.lang.reflect.Type getGenericSupertype​(java.lang.reflect.Type context, java.lang.Class<?> rawType, java.lang.Class<?> toResolve)
      Returns the generic supertype for supertype.
      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)  
      (package private) static java.lang.reflect.Type getSupertype​(java.lang.reflect.Type context, java.lang.Class<?> contextRawType, java.lang.Class<?> supertype)
      Returns the generic form of supertype.
      (package private) static int hashCodeOrZero​(java.lang.Object o)  
      private static int indexOf​(java.lang.Object[] array, java.lang.Object toFind)  
      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)  
      private static java.lang.reflect.Type resolve​(java.lang.reflect.Type context, java.lang.Class<?> contextRawType, java.lang.reflect.Type toResolve, java.util.Map<java.lang.reflect.TypeVariable<?>,​java.lang.reflect.Type> visitedTypeVariables)  
      (package private) static java.lang.reflect.Type resolveTypeVariable​(java.lang.reflect.Type context, java.lang.Class<?> contextRawType, java.lang.reflect.TypeVariable<?> unknown)  
      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
    • Field Detail

      • EMPTY_TYPE_ARRAY

        static final java.lang.reflect.Type[] EMPTY_TYPE_ARRAY
    • Constructor Detail

      • $Gson$Types

        private $Gson$Types()
    • 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)
      • equal

        static boolean equal​(java.lang.Object a,
                             java.lang.Object b)
      • equals

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

        static int hashCodeOrZero​(java.lang.Object o)
      • typeToString

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

        static java.lang.reflect.Type getGenericSupertype​(java.lang.reflect.Type context,
                                                          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>.
      • getSupertype

        static java.lang.reflect.Type getSupertype​(java.lang.reflect.Type context,
                                                   java.lang.Class<?> contextRawType,
                                                   java.lang.Class<?> supertype)
        Returns the generic form of supertype. For example, if this is ArrayList<String>, this returns Iterable<String> given the input Iterable.class.
        Parameters:
        supertype - a superclass of, or interface implemented by, this.
      • 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)
      • resolve

        private static java.lang.reflect.Type resolve​(java.lang.reflect.Type context,
                                                      java.lang.Class<?> contextRawType,
                                                      java.lang.reflect.Type toResolve,
                                                      java.util.Map<java.lang.reflect.TypeVariable<?>,​java.lang.reflect.Type> visitedTypeVariables)
      • resolveTypeVariable

        static java.lang.reflect.Type resolveTypeVariable​(java.lang.reflect.Type context,
                                                          java.lang.Class<?> contextRawType,
                                                          java.lang.reflect.TypeVariable<?> unknown)
      • indexOf

        private static int indexOf​(java.lang.Object[] array,
                                   java.lang.Object toFind)
      • declaringClassOf

        private static java.lang.Class<?> declaringClassOf​(java.lang.reflect.TypeVariable<?> typeVariable)
        Returns the declaring class of typeVariable, or null if it was not declared by a class.
      • checkNotPrimitive

        static void checkNotPrimitive​(java.lang.reflect.Type type)