org.apache.jorphan.reflect

## 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 Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static List<String>` | `findAnnotatedClasses(String[] strPathsOrJars, Class<? extends Annotation>[] annotations)` Find classes in the provided path(s)/jar(s) that extend the class(es).
    `static List<String>` | `findAnnotatedClasses(String[] strPathsOrJars, Class<? extends Annotation>[] annotations, boolean innerClasses)` Find classes in the provided path(s)/jar(s) that extend the class(es).
    `static List<String>` | `findClasses(String[] searchPathsOrJars, ClassFilter filter)` Find all classes in the given jars that passes the class filter.
    `static List<String>` | `findClassesThatExtend(String[] paths, Class<?>[] superClasses)` Convenience method for `findClassesThatExtend(String[], Class[], boolean)` with the option to include inner classes in the search set to false.
    `static List<String>` | `findClassesThatExtend(String[] strPathsOrJars, Class<?>[] superClasses, boolean innerClasses)` Find classes in the provided path(s)/jar(s) that extend the class(es).
    `static List<String>` | `findClassesThatExtend(String[] strPathsOrJars, Class<?>[] superClasses, boolean innerClasses, String contains, String notContains)` Find classes in the provided path(s)/jar(s) that extend the class(es).
    `static List<String>` | `findClassesThatExtend(String[] searchPathsOrJars, Class<?>[] classNames, boolean innerClasses, String contains, String notContains, boolean annotations)` Find classes in the provided path(s)/jar(s) that extend the class(es).

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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

    - #### findClasses

          public static List<String> findClasses(String[] searchPathsOrJars,
                                                 ClassFilter filter)
                                          throws IOException

      Find all classes in the given jars that passes the class filter.
      Parameters:
        `searchPathsOrJars` - list of strings representing the jar locations
        `filter` - `ClassFilter` that the classes in the jars should conform to
      Returns:
        list of all classes in the jars, that conform to `filter`
      Throws:
        `IOException` - when reading the jar files fails

Copyright © 1998-2022 Apache Software Foundation. All Rights Reserved.