/** * Resolves the generic argument for the given type. */ private Class<?> resolveArgument(Type type) { if (type instanceof ParameterizedType) { ParameterizedType paramType = (ParameterizedType) type; return resolveClass(paramType.getActualTypeArguments()[0]); } else if (type instanceof TypeVariable) { return resolveClass(type); } else if (type instanceof Class) { TypeVariable<?>[] typeParams = ((Class<?>) type).getTypeParameters(); return resolveClass(typeParams[0]); } return null; }
/** * Resolves the generic argument for the given type. */ private Class<?> resolveArgument(Type type) { if (type instanceof ParameterizedType) { ParameterizedType paramType = (ParameterizedType) type; return resolveClass(paramType.getActualTypeArguments()[0]); } else if (type instanceof TypeVariable) { return resolveClass(type); } else if (type instanceof Class) { TypeVariable<?>[] typeParams = ((Class<?>) type).getTypeParameters(); return resolveClass(typeParams[0]); } return null; }
/** * Resolves the generic argument for the given type. */ private Class<?> resolveArgument(Type type) { if (type instanceof ParameterizedType) { ParameterizedType paramType = (ParameterizedType) type; return resolveClass(paramType.getActualTypeArguments()[0]); } else if (type instanceof TypeVariable) { return resolveClass(type); } else if (type instanceof Class) { TypeVariable<?>[] typeParams = ((Class<?>) type).getTypeParameters(); return resolveClass(typeParams[0]); } return null; }
/** * Resolves the generic class for the given type. */ private Class<?> resolveClass(Type type) { if (type instanceof Class) { return (Class<?>) type; } else if (type instanceof ParameterizedType) { return resolveClass(((ParameterizedType) type).getRawType()); } else if (type instanceof WildcardType) { Type[] bounds = ((WildcardType) type).getUpperBounds(); if (bounds.length > 0) { return (Class<?>) bounds[0]; } } return null; }
/** * Resolves the generic class for the given type. */ private Class<?> resolveClass(Type type) { if (type instanceof Class) { return (Class<?>) type; } else if (type instanceof ParameterizedType) { return resolveClass(((ParameterizedType) type).getRawType()); } else if (type instanceof WildcardType) { Type[] bounds = ((WildcardType) type).getUpperBounds(); if (bounds.length > 0) { return (Class<?>) bounds[0]; } } return null; }
/** * Resolves the generic class for the given type. */ private Class<?> resolveClass(Type type) { if (type instanceof Class) { return (Class<?>) type; } else if (type instanceof ParameterizedType) { return resolveClass(((ParameterizedType) type).getRawType()); } else if (type instanceof WildcardType) { Type[] bounds = ((WildcardType) type).getUpperBounds(); if (bounds.length > 0) { return (Class<?>) bounds[0]; } } return null; }