/** * Iterate the complete super class hierarchy of the passed class including * all super classes and all interfaces of the passed class and of all parent * classes. * * @param aClass * The source class to get the hierarchy from. * @return A non-<code>null</code> and non-empty List containing the passed * class and all super classes, and all super-interfaces. Duplicates * were already removed. */ @Nonnull public static Iterable <WeakReference <Class <?>>> getClassHierarchyIterator (@Nonnull final Class <?> aClass) { return getClassList (aClass); } }
/** * Get the complete super class hierarchy of the passed class including all * super classes and all interfaces of the passed class and of all parent * classes. * * @param aClass * The source class to get the hierarchy from. * @return A non-<code>null</code> and non-empty Set containing the passed * class and all super classes, and all super-interfaces. */ @Nonnull @ReturnsMutableCopy public static Set <Class <?>> getClassHierarchy (@Nonnull final Class <?> aClass) { return getClassList (aClass).getAsSet (); }
/** * Get the complete super class hierarchy of the passed class including all * super classes and all interfaces of the passed class and of all parent * classes. * * @param aClass * The source class to get the hierarchy from. * @return A non-<code>null</code> and non-empty List containing the passed * class and all super classes, and all super-interfaces. Duplicates * were already removed. */ @Nonnull @ReturnsMutableCopy public static List <Class <?>> getClassHierarchyList (@Nonnull final Class <?> aClass) { return getClassList (aClass).getAsList (); }