Class ClassPath

java.lang.Object
com.google.common.reflect.ClassPath

@Beta public final class ClassPath extends Object
Scans the source of a ClassLoader and finds all loadable classes and resources.

Warning: Currently only URLClassLoader and only file:// urls are supported.

Since:
14.0
  • Method Details

    • from

      public static ClassPath from(ClassLoader classloader) throws IOException
      Returns a ClassPath representing all classes and resources loadable from classloader and its parent class loaders.

      Warning: Currently only URLClassLoader and only file:// urls are supported.

      Throws:
      IOException - if the attempt to read class path resources (jar files or directories) failed.
    • getResources

      public ImmutableSet<ClassPath.ResourceInfo> getResources()
      Returns all resources loadable from the current class path, including the class files of all loadable classes but excluding the "META-INF/MANIFEST.MF" file.
    • getAllClasses

      public ImmutableSet<ClassPath.ClassInfo> getAllClasses()
      Returns all classes loadable from the current class path.
      Since:
      16.0
    • getTopLevelClasses

      public ImmutableSet<ClassPath.ClassInfo> getTopLevelClasses()
      Returns all top level classes loadable from the current class path.
    • getTopLevelClasses

      public ImmutableSet<ClassPath.ClassInfo> getTopLevelClasses(String packageName)
      Returns all top level classes whose package name is packageName.
    • getTopLevelClassesRecursive

      public ImmutableSet<ClassPath.ClassInfo> getTopLevelClassesRecursive(String packageName)
      Returns all top level classes whose package name is packageName or starts with packageName followed by a '.'.