Class ClassFinder

java.lang.Object
org.apache.jorphan.reflect.ClassFinder

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

    • 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