@Test public void testGetGenericTypeActualParamsForInterface() { assertArrayEquals(new Type[]{TestClass.class}, ClassUtil.getGenericTypeActualParamsForInterface(TestClass.class, Comparable.class)); }
public static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf) { Type[] intfs = getGenericClass(type).getGenericInterfaces(); for (Type t : intfs) if (getGenericClass(t) == intf) return getGenericTypeActualParams(t); return EMPTY_TYPE_ARRAY; }
ClassUtil { public static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf) { Type[] intfs = getGenericClass(type).getGenericInterfaces(); for (Type t : intfs) if (getGenericClass(t) == intf) return getGenericTypeActualParams(t); return EMPTY_TYPE_ARRAY; } }
ClassUtil { public static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf) { Type[] intfs = getGenericClass(type).getGenericInterfaces(); for (Type t : intfs) if (getGenericClass(t) == intf) return getGenericTypeActualParams(t); return EMPTY_TYPE_ARRAY; }  }
ClassUtil { public static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf) { Type[] intfs = getGenericClass(type).getGenericInterfaces(); for (Type t : intfs) if (getGenericClass(t) == intf) return getGenericTypeActualParams(t); return EMPTY_TYPE_ARRAY; }  @Deprecated //Used only for testing, don't use in production code @SneakyThrows static void setStaticPrivateField(String className, String fieldName, Object value); @Deprecated //Used only for testing, don't use in production code static void setPrivateField(Object obj, String fieldName, Object value); @Deprecated //Used only for testing, don't use in production code @SneakyThrows static void setPrivateField(Class<?> cls, Object obj, String fieldName, Object value); static Field getDeclaredField(Class<?> cls, String name); static Map<String, BeanProperty> getProperties(Class<?> cls); static Object getObjectByPath(String path); static Object getObjectByPath(Class<?> cls, Object obj, List<String> relativePath); static Object getObjectProperty(Class<?> cls, Object obj, String propertyName); static Class<?> getGenericClass(Type type); static Type[] getGenericTypeActualParams(Type type); static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf); static List<Class<?>> getAllInterface(Class<?> cls); static Class<?> findInterface(Class<?> cls, Class<?> itf); static Field[] getAllFields(Class<?> cls); static Method[] getAllMethods(Class<?> cls); static T stringToEnum(Class<T> cls, String str); @SuppressWarnings({ "unchecked", "rawtypes" }) static T stringToSimpleObject(String str, Class<T> cls, BeanConvertContext ctx); static boolean isSimpleType(Class<?> cls); static Object objectToSimpleType(Object obj, Class<?> cls); static Type getType(String typeName); static StackTraceElement findCallerStackTrace(Class<?> calleeClass); }
ClassUtil { public static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf) { Type[] intfs = getGenericClass(type).getGenericInterfaces(); for (Type t : intfs) if (getGenericClass(t) == intf) return getGenericTypeActualParams(t); return EMPTY_TYPE_ARRAY; }  @Deprecated //Used only for testing, don't use in production code @SneakyThrows static void setStaticPrivateField(String className, String fieldName, Object value); @Deprecated //Used only for testing, don't use in production code static void setPrivateField(Object obj, String fieldName, Object value); @Deprecated //Used only for testing, don't use in production code @SneakyThrows static void setPrivateField(Class<?> cls, Object obj, String fieldName, Object value); static Field getDeclaredField(Class<?> cls, String name); static Map<String, BeanProperty> getProperties(Class<?> cls); static Object getObjectByPath(String path); static Object getObjectByPath(Class<?> cls, Object obj, List<String> relativePath); static Object getObjectProperty(Class<?> cls, Object obj, String propertyName); static Class<?> getGenericClass(Type type); static Type[] getGenericTypeActualParams(Type type); static Type[] getGenericTypeActualParamsForInterface(Type type, Class<?> intf); static List<Class<?>> getAllInterface(Class<?> cls); static Class<?> findInterface(Class<?> cls, Class<?> itf); static Field[] getAllFields(Class<?> cls); static Method[] getAllMethods(Class<?> cls); static T stringToEnum(Class<T> cls, String str); @SuppressWarnings({ "unchecked", "rawtypes" }) static T stringToSimpleObject(String str, Class<T> cls, BeanConvertContext ctx); static boolean isSimpleType(Class<?> cls); static Object objectToSimpleType(Object obj, Class<?> cls); static Type getType(String typeName); static StackTraceElement findCallerStackTrace(Class<?> calleeClass); static final Type[] EMPTY_TYPE_ARRAY; static final Map<String, Class<?>> PRIMITIVE_TYPE_MAP; }