Package com.google.common.reflect
Class ClassPath
- java.lang.Object
-
- com.google.common.reflect.ClassPath
-
@Beta public final class ClassPath extends java.lang.Object
Scans the source of aClassLoaderand finds all loadable classes and resources.- Since:
- 14.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classClassPath.ClassInfoRepresents a class that can be loaded throughClassPath.ClassInfo.load().static classClassPath.ResourceInfoRepresents a class path resource that can be either a class file or any other resource file loadable from the class path.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static ClassPathfrom(java.lang.ClassLoader classloader)Returns aClassPathrepresenting all classes and resources loadable fromclassloaderand its parent class loaders.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.ImmutableSet<ClassPath.ClassInfo>getTopLevelClasses()Returns all top level classes loadable from the current class path.ImmutableSet<ClassPath.ClassInfo>getTopLevelClasses(java.lang.String packageName)Returns all top level classes whose package name ispackageName.ImmutableSet<ClassPath.ClassInfo>getTopLevelClassesRecursive(java.lang.String packageName)Returns all top level classes whose package name ispackageNameor starts withpackageNamefollowed by a '.'.
-
-
-
Method Detail
-
from
public static ClassPath from(java.lang.ClassLoader classloader) throws java.io.IOException
Returns aClassPathrepresenting all classes and resources loadable fromclassloaderand its parent class loaders.Currently only
URLClassLoaderand onlyfile://urls are supported.- Throws:
java.io.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.
-
getTopLevelClasses
public ImmutableSet<ClassPath.ClassInfo> getTopLevelClasses()
Returns all top level classes loadable from the current class path.
-
getTopLevelClasses
public ImmutableSet<ClassPath.ClassInfo> getTopLevelClasses(java.lang.String packageName)
Returns all top level classes whose package name ispackageName.
-
getTopLevelClassesRecursive
public ImmutableSet<ClassPath.ClassInfo> getTopLevelClassesRecursive(java.lang.String packageName)
Returns all top level classes whose package name ispackageNameor starts withpackageNamefollowed by a '.'.
-
-