public static Set<Field> getHiddenFields(final Class<?> clazz) { final Field[] fields = clazz.getDeclaredFields(); final Set<Field> declaredFieldSet = CollectionUtils.arrayToSet(fields); final Set<Field> ret = new HashSet<>(); Class<?> currentClass = clazz.getSuperclass(); while (currentClass != null) { final Field[] superFields = currentClass.getDeclaredFields(); for (Field superField : superFields) { final Field match = getMatch(declaredFieldSet, superField); if (!Modifier.isPrivate(superField.getModifiers()) && !Modifier.isStatic(superField.getModifiers()) && match != null) { ret.add(match); } } currentClass = currentClass.getSuperclass(); } return ret; }
public static Set<Method> getOverriddenMethods(final Class<?> clazz) { final Method[] methods = clazz.getDeclaredMethods(); final Set<Method> declaredMethodSet = CollectionUtils.arrayToSet(methods); final Set<Method> ret = new HashSet<>(); Class<?> currentClass = clazz.getSuperclass(); while (currentClass != null) { final Method[] superclassMethods = currentClass.getDeclaredMethods(); for (Method superclassMethod : superclassMethods) { final Method match = getMatch(declaredMethodSet, superclassMethod, true); if (match != null) { ret.add(match); } } currentClass = currentClass.getSuperclass(); } return ret; }
public static Set<Method> getOverriddenMethods(final Class<?> clazz) { final Method[] methods = clazz.getDeclaredMethods(); final Set<Method> declaredMethodSet = CollectionUtils.arrayToSet(methods); final Set<Method> ret = new HashSet<>(); Class<?> currentClass = clazz.getSuperclass(); while (currentClass != null) { final Method[] superclassMethods = currentClass.getDeclaredMethods(); for (Method superclassMethod : superclassMethods) { final Method match = getMatch(declaredMethodSet, superclassMethod, true); if (match != null) { ret.add(match); } } currentClass = currentClass.getSuperclass(); } return ret; }
public static Set<Field> getHiddenFields(final Class<?> clazz) { final Field[] fields = clazz.getDeclaredFields(); final Set<Field> declaredFieldSet = CollectionUtils.arrayToSet(fields); final Set<Field> ret = new HashSet<>(); Class<?> currentClass = clazz.getSuperclass(); while (currentClass != null) { final Field[] superFields = currentClass.getDeclaredFields(); for (Field superField : superFields) { final Field match = getMatch(declaredFieldSet, superField); if (!Modifier.isPrivate(superField.getModifiers()) && !Modifier.isStatic(superField.getModifiers()) && match != null) { ret.add(match); } } currentClass = currentClass.getSuperclass(); } return ret; }