Class TypeParameterResolver


  • public class TypeParameterResolver
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.reflect.Type resolveFieldType​(java.lang.reflect.Field field, java.lang.reflect.Type srcType)
      Resolve field type.
      private static java.lang.reflect.Type resolveGenericArrayType​(java.lang.reflect.GenericArrayType genericArrayType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      private static java.lang.reflect.ParameterizedType resolveParameterizedType​(java.lang.reflect.ParameterizedType parameterizedType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      static java.lang.reflect.Type[] resolveParamTypes​(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
      Resolve param types.
      static java.lang.reflect.Type resolveReturnType​(java.lang.reflect.Method method, java.lang.reflect.Type srcType)
      Resolve return type.
      private static java.lang.reflect.Type resolveType​(java.lang.reflect.Type type, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      private static java.lang.reflect.Type resolveTypeVar​(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      private static java.lang.reflect.Type resolveWildcardType​(java.lang.reflect.WildcardType wildcardType, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      private static java.lang.reflect.Type[] resolveWildcardTypeBounds​(java.lang.reflect.Type[] bounds, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass)  
      private static java.lang.reflect.Type scanSuperTypes​(java.lang.reflect.TypeVariable<?> typeVar, java.lang.reflect.Type srcType, java.lang.Class<?> declaringClass, java.lang.Class<?> clazz, java.lang.reflect.Type superclass)  
      private static java.lang.reflect.ParameterizedType translateParentTypeVars​(java.lang.reflect.ParameterizedType srcType, java.lang.Class<?> srcClass, java.lang.reflect.ParameterizedType parentType)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TypeParameterResolver

        private TypeParameterResolver()
    • Method Detail

      • resolveFieldType

        public static java.lang.reflect.Type resolveFieldType​(java.lang.reflect.Field field,
                                                              java.lang.reflect.Type srcType)
        Resolve field type.
        Parameters:
        field - the field
        srcType - the src type
        Returns:
        The field type as Type. If it has type parameters in the declaration,
        they will be resolved to the actual runtime Types.
      • resolveReturnType

        public static java.lang.reflect.Type resolveReturnType​(java.lang.reflect.Method method,
                                                               java.lang.reflect.Type srcType)
        Resolve return type.
        Parameters:
        method - the method
        srcType - the src type
        Returns:
        The return type of the method as Type. If it has type parameters in the declaration,
        they will be resolved to the actual runtime Types.
      • resolveParamTypes

        public static java.lang.reflect.Type[] resolveParamTypes​(java.lang.reflect.Method method,
                                                                 java.lang.reflect.Type srcType)
        Resolve param types.
        Parameters:
        method - the method
        srcType - the src type
        Returns:
        The parameter types of the method as an array of Types. If they have type parameters in the declaration,
        they will be resolved to the actual runtime Types.
      • resolveType

        private static java.lang.reflect.Type resolveType​(java.lang.reflect.Type type,
                                                          java.lang.reflect.Type srcType,
                                                          java.lang.Class<?> declaringClass)
      • resolveGenericArrayType

        private static java.lang.reflect.Type resolveGenericArrayType​(java.lang.reflect.GenericArrayType genericArrayType,
                                                                      java.lang.reflect.Type srcType,
                                                                      java.lang.Class<?> declaringClass)
      • resolveParameterizedType

        private static java.lang.reflect.ParameterizedType resolveParameterizedType​(java.lang.reflect.ParameterizedType parameterizedType,
                                                                                    java.lang.reflect.Type srcType,
                                                                                    java.lang.Class<?> declaringClass)
      • resolveWildcardType

        private static java.lang.reflect.Type resolveWildcardType​(java.lang.reflect.WildcardType wildcardType,
                                                                  java.lang.reflect.Type srcType,
                                                                  java.lang.Class<?> declaringClass)
      • resolveWildcardTypeBounds

        private static java.lang.reflect.Type[] resolveWildcardTypeBounds​(java.lang.reflect.Type[] bounds,
                                                                          java.lang.reflect.Type srcType,
                                                                          java.lang.Class<?> declaringClass)
      • resolveTypeVar

        private static java.lang.reflect.Type resolveTypeVar​(java.lang.reflect.TypeVariable<?> typeVar,
                                                             java.lang.reflect.Type srcType,
                                                             java.lang.Class<?> declaringClass)
      • scanSuperTypes

        private static java.lang.reflect.Type scanSuperTypes​(java.lang.reflect.TypeVariable<?> typeVar,
                                                             java.lang.reflect.Type srcType,
                                                             java.lang.Class<?> declaringClass,
                                                             java.lang.Class<?> clazz,
                                                             java.lang.reflect.Type superclass)
      • translateParentTypeVars

        private static java.lang.reflect.ParameterizedType translateParentTypeVars​(java.lang.reflect.ParameterizedType srcType,
                                                                                   java.lang.Class<?> srcClass,
                                                                                   java.lang.reflect.ParameterizedType parentType)