private static void collectGenericInterfaces(Type[] types, List<ParameterizedType> supertypes) { if (types == null) return; for (Type t : types) { if (t instanceof ParameterizedType) supertypes.add((ParameterizedType)t); else collectGenericInterfaces(((Class<?>)t).getGenericInterfaces(), supertypes); } }
private static void collectGenericInterfaces(Type[] types, List<ParameterizedType> supertypes) { if (types == null) return; for (Type t : types) { if (t instanceof ParameterizedType) supertypes.add((ParameterizedType)t); else collectGenericInterfaces(((Class<?>)t).getGenericInterfaces(), supertypes); } }
private static void collectGenericInterfaces(Type[] types, List<ParameterizedType> supertypes) { if (types == null) return; for (Type t : types) { if (t instanceof ParameterizedType) supertypes.add((ParameterizedType)t); else collectGenericInterfaces(((Class<?>)t).getGenericInterfaces(), supertypes); } }
private static void collectGenericInterfaces(Type[] types, List<ParameterizedType> supertypes) { if (types == null) return; for (Type t : types) { if (t instanceof ParameterizedType) supertypes.add((ParameterizedType)t); else collectGenericInterfaces(((Class<?>)t).getGenericInterfaces(), supertypes); } }
public static ParameterizedType[] getDeclaringTypes(Class<?> type) { List<ParameterizedType> supertypes = new ArrayList<ParameterizedType>(); Type stype = type.getGenericSuperclass(); Class<?> sclass = type.getSuperclass(); while (sclass != null && sclass != Object.class) { if (stype instanceof ParameterizedType) supertypes.add((ParameterizedType)stype); stype = sclass.getGenericSuperclass(); sclass = sclass.getSuperclass(); } collectGenericInterfaces(type.getGenericInterfaces(), supertypes); return supertypes.isEmpty() ? null : supertypes.toArray(new ParameterizedType[supertypes.size()]); }
public static ParameterizedType[] getDeclaringTypes(Class<?> type) { List<ParameterizedType> supertypes = new ArrayList<ParameterizedType>(); Type stype = type.getGenericSuperclass(); Class<?> sclass = type.getSuperclass(); while (sclass != null && sclass != Object.class) { if (stype instanceof ParameterizedType) supertypes.add((ParameterizedType)stype); stype = sclass.getGenericSuperclass(); sclass = sclass.getSuperclass(); } collectGenericInterfaces(type.getGenericInterfaces(), supertypes); return supertypes.isEmpty() ? null : supertypes.toArray(new ParameterizedType[supertypes.size()]); }
public static ParameterizedType[] getDeclaringTypes(Class<?> type) { List<ParameterizedType> supertypes = new ArrayList<ParameterizedType>(); Type stype = type.getGenericSuperclass(); Class<?> sclass = type.getSuperclass(); while (sclass != null && sclass != Object.class) { if (stype instanceof ParameterizedType) supertypes.add((ParameterizedType)stype); stype = sclass.getGenericSuperclass(); sclass = sclass.getSuperclass(); } collectGenericInterfaces(type.getGenericInterfaces(), supertypes); return supertypes.isEmpty() ? null : supertypes.toArray(new ParameterizedType[supertypes.size()]); }
public static ParameterizedType[] getDeclaringTypes(Class<?> type) { List<ParameterizedType> supertypes = new ArrayList<ParameterizedType>(); Type stype = type.getGenericSuperclass(); Class<?> sclass = type.getSuperclass(); while (sclass != null && sclass != Object.class) { if (stype instanceof ParameterizedType) supertypes.add((ParameterizedType)stype); stype = sclass.getGenericSuperclass(); sclass = sclass.getSuperclass(); } collectGenericInterfaces(type.getGenericInterfaces(), supertypes); return supertypes.isEmpty() ? null : supertypes.toArray(new ParameterizedType[supertypes.size()]); }