Package org.junit.platform.commons.util
Class ClasspathScanner
java.lang.Object
org.junit.platform.commons.util.ClasspathScanner
DISCLAIMER
These utilities are intended solely for usage within the JUnit framework itself. Any usage by external parties is not supported. Use at your own risk!
- Since:
- 1.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Supplier<ClassLoader> private static final charprivate final BiFunction<String, ClassLoader, Try<Class<?>>> private static final Loggerprivate static final StringMalformed class name InternalError like reported in #401.private static final charprivate static final String -
Constructor Summary
ConstructorsConstructorDescriptionClasspathScanner(Supplier<ClassLoader> classLoaderSupplier, BiFunction<String, ClassLoader, Try<Class<?>>> loadClass) -
Method Summary
Modifier and TypeMethodDescriptionprivate StringdetermineFullyQualifiedClassName(Path baseDir, String basePackageName, Path classFile) private StringdetermineSimpleClassName(Path classFile) private StringdetermineSubpackageName(Path baseDir, Path classFile) findClassesForPath(Path baseDir, String basePackageName, ClassFilter classFilter) findClassesForUri(URI baseUri, String basePackageName, ClassFilter classFilter) findClassesForUris(List<URI> baseUris, String basePackageName, ClassFilter classFilter) Recursively scan for classes in all of the supplied source directories.private ClassLoadergetRootUrisForPackage(String basePackageName) private voidhandleInternalError(Path classFile, String fullyQualifiedClassName, InternalError ex) private voidhandleThrowable(Path classFile, Throwable throwable) private voidlogGenericFileProcessingException(Path classFile, Throwable throwable) private voidlogMalformedClassName(Path classFile, String fullyQualifiedClassName, InternalError ex) private static StringpackagePath(String packageName) private voidprocessClassFileSafely(Path baseDir, String basePackageName, ClassFilter classFilter, Path classFile, Consumer<Class<?>> classConsumer) scanForClassesInClasspathRoot(URI root, ClassFilter classFilter) scanForClassesInPackage(String basePackageName, ClassFilter classFilter)
-
Field Details
-
logger
-
CLASSPATH_RESOURCE_PATH_SEPARATOR
private static final char CLASSPATH_RESOURCE_PATH_SEPARATOR- See Also:
-
PACKAGE_SEPARATOR_CHAR
private static final char PACKAGE_SEPARATOR_CHAR- See Also:
-
PACKAGE_SEPARATOR_STRING
-
MALFORMED_CLASS_NAME_ERROR_MESSAGE
Malformed class name InternalError like reported in #401.- See Also:
-
classLoaderSupplier
-
loadClass
-
-
Constructor Details
-
ClasspathScanner
ClasspathScanner(Supplier<ClassLoader> classLoaderSupplier, BiFunction<String, ClassLoader, Try<Class<?>>> loadClass)
-
-
Method Details
-
scanForClassesInPackage
-
scanForClassesInClasspathRoot
-
findClassesForUris
private List<Class<?>> findClassesForUris(List<URI> baseUris, String basePackageName, ClassFilter classFilter) Recursively scan for classes in all of the supplied source directories. -
findClassesForUri
private List<Class<?>> findClassesForUri(URI baseUri, String basePackageName, ClassFilter classFilter) -
findClassesForPath
private List<Class<?>> findClassesForPath(Path baseDir, String basePackageName, ClassFilter classFilter) -
processClassFileSafely
-
determineFullyQualifiedClassName
-
determineSimpleClassName
-
determineSubpackageName
-
handleInternalError
-
handleThrowable
-
logMalformedClassName
private void logMalformedClassName(Path classFile, String fullyQualifiedClassName, InternalError ex) -
logGenericFileProcessingException
-
getClassLoader
-
packagePath
-
getRootUrisForPackage
-