Class ClassFinder


  • public final class ClassFinder
    extends Object
    This class finds classes that extend one of a set of parent classes
    • Method Detail

      • findClassesThatExtend

        public static List<String> findClassesThatExtend​(String[] paths,
                                                         Class<?>[] superClasses)
                                                  throws IOException
        Convenience method for findClassesThatExtend(String[], Class[], boolean) with the option to include inner classes in the search set to false.
        Parameters:
        paths - pathnames or jarfiles to search for classes
        superClasses - required parent class(es)
        Returns:
        List of Strings containing discovered class names.
        Throws:
        IOException - when scanning the classes fails
      • findClassesThatExtend

        public static List<String> findClassesThatExtend​(String[] strPathsOrJars,
                                                         Class<?>[] superClasses,
                                                         boolean innerClasses)
                                                  throws IOException
        Find classes in the provided path(s)/jar(s) that extend the class(es).
        Parameters:
        strPathsOrJars - - pathnames or jarfiles to search for classes
        superClasses - - required parent class(es)
        innerClasses - - should we include inner classes?
        Returns:
        List containing discovered classes
        Throws:
        IOException - when scanning for classes fails
      • findClassesThatExtend

        public static List<String> findClassesThatExtend​(String[] strPathsOrJars,
                                                         Class<?>[] superClasses,
                                                         boolean innerClasses,
                                                         String contains,
                                                         String notContains)
                                                  throws IOException
        Find classes in the provided path(s)/jar(s) that extend the class(es).
        Parameters:
        strPathsOrJars - - pathnames or jarfiles to search for classes
        superClasses - - required parent class(es)
        innerClasses - - should we include inner classes?
        contains - - classname should contain this string
        notContains - - classname should not contain this string
        Returns:
        List containing discovered classes
        Throws:
        IOException - when scanning classes fails
      • findAnnotatedClasses

        public static List<String> findAnnotatedClasses​(String[] strPathsOrJars,
                                                        Class<? extends Annotation>[] annotations,
                                                        boolean innerClasses)
                                                 throws IOException
        Find classes in the provided path(s)/jar(s) that extend the class(es).
        Parameters:
        strPathsOrJars - - pathnames or jarfiles to search for classes
        annotations - - required annotations
        innerClasses - - should we include inner classes?
        Returns:
        List containing discovered classes
        Throws:
        IOException - when scanning classes fails
      • findAnnotatedClasses

        public static List<String> findAnnotatedClasses​(String[] strPathsOrJars,
                                                        Class<? extends Annotation>[] annotations)
                                                 throws IOException
        Find classes in the provided path(s)/jar(s) that extend the class(es). Inner classes are not searched.
        Parameters:
        strPathsOrJars - - pathnames or jarfiles to search for classes
        annotations - - required annotations
        Returns:
        List containing discovered classes
        Throws:
        IOException - when scanning classes fails
      • findClassesThatExtend

        public static List<String> findClassesThatExtend​(String[] searchPathsOrJars,
                                                         Class<?>[] classNames,
                                                         boolean innerClasses,
                                                         String contains,
                                                         String notContains,
                                                         boolean annotations)
                                                  throws IOException
        Find classes in the provided path(s)/jar(s) that extend the class(es).
        Parameters:
        searchPathsOrJars - - pathnames or jarfiles to search for classes
        classNames - - required parent class(es) or annotations
        innerClasses - - should we include inner classes?
        contains - - classname should contain this string
        notContains - - classname should not contain this string
        annotations - - true if classnames are annotations
        Returns:
        List containing discovered classes
        Throws:
        IOException - when scanning classes fails