Top Description Inners Fields Constructors Methods
org.junit.platform.commons.util

public Class ModuleUtils

extends Object
Class Inheritance
Annotations
@API
status:INTERNAL
since:1.1
Static Imports
java.util.Objects.requireNonNull, java.util.function.Predicate.isEqual, java.util.stream.Collectors.toCollection, .Collectors.toSet, org.apiguardian.api.API.Status.INTERNAL

Collection of utilities for working with java.lang.Module and friends.

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.1

Nested and Inner Type Summary

Modifier and TypeClass and Description
pack-priv static class
pack-priv static class

Field Summary

Modifier and TypeField and Description
private static final Logger

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public static List<Class<?>>

Returns:

an immutable list of all such classes found; never null but potentially empty
findAllClassesInModule
(String
the name of the module to scan; never null or empty
moduleName
,
ClassFilter
the class filter to apply; never null
filter
)

Find all classes for the given module name.

public static Set<String>

Returns:

a set of all such module names; never null but potentially empty
findAllNonSystemBootModuleNames
()

Find all non-system boot modules names.

public static List<Resource>

Returns:

an immutable list of all such resources found; never null but potentially empty
findAllResourcesInModule
(String
the name of the module to scan; never null or empty
moduleName
,
ResourceFilter
the class filter to apply; never null
filter
)

Find all resources for the given module name.

public static Optional<String>
public static Optional<String>
private static List<Class<?>>
scan(Set<ModuleReference> references, ClassFilter filter, ClassLoader loader)

Scan for classes using the supplied set of module references, class filter, and loader.

private static List<Resource>
scan(Set<ModuleReference> references, ResourceFilter filter, ClassLoader loader)

Scan for classes using the supplied set of module references, class filter, and loader.

private static Stream<ResolvedModule>
streamResolvedModules(Predicate<String> moduleNamePredicate)

Stream resolved modules from current (or boot) module layer.

private static Stream<ResolvedModule>
streamResolvedModules(Predicate<String> moduleNamePredicate, ModuleLayer layer)

Stream resolved modules from the supplied layer.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

loggerback to summary
private static final Logger logger

Constructor Detail

ModuleUtilsback to summary
private ModuleUtils()

Method Detail

findAllClassesInModuleback to summary
public static List<Class<?>> findAllClassesInModule(String moduleName, ClassFilter filter)

Find all classes for the given module name.

Parameters
moduleName:String

the name of the module to scan; never null or empty

filter:ClassFilter

the class filter to apply; never null

Returns:List<Class<?>>

an immutable list of all such classes found; never null but potentially empty

findAllNonSystemBootModuleNamesback to summary
public static Set<String> findAllNonSystemBootModuleNames()

Find all non-system boot modules names.

Returns:Set<String>

a set of all such module names; never null but potentially empty

findAllResourcesInModuleback to summary
public static List<Resource> findAllResourcesInModule(String moduleName, ResourceFilter filter)

Find all resources for the given module name.

Parameters
moduleName:String

the name of the module to scan; never null or empty

filter:ResourceFilter

the class filter to apply; never null

Returns:List<Resource>

an immutable list of all such resources found; never null but potentially empty

Annotations
@API
status:INTERNAL
since:1.11
Since
1.11
getModuleNameback to summary
public static Optional<String> getModuleName(Class<?> type)
getModuleVersionback to summary
public static Optional<String> getModuleVersion(Class<?> type)
scanback to summary
private static List<Class<?>> scan(Set<ModuleReference> references, ClassFilter filter, ClassLoader loader)

Scan for classes using the supplied set of module references, class filter, and loader.

scanback to summary
private static List<Resource> scan(Set<ModuleReference> references, ResourceFilter filter, ClassLoader loader)

Scan for classes using the supplied set of module references, class filter, and loader.

streamResolvedModulesback to summary
private static Stream<ResolvedModule> streamResolvedModules(Predicate<String> moduleNamePredicate)

Stream resolved modules from current (or boot) module layer.

streamResolvedModulesback to summary
private static Stream<ResolvedModule> streamResolvedModules(Predicate<String> moduleNamePredicate, ModuleLayer layer)

Stream resolved modules from the supplied layer.

org.junit.platform.commons.util back to summary

pack-priv Class ModuleUtils.ModuleReferenceClassScanner

extends Object
Class Inheritance
  • java.lang.Object
  • org.junit.platform.commons.util.ModuleUtils.ModuleReferenceClassScanner

ModuleReference class scanner.
Since
1.1

Field Summary

Modifier and TypeField and Description
private final ClassFilter
private final ClassLoader

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private String
className(String resourceName)

Convert resource name to binary class name.

private Class<?>
loadClassUnchecked(String binaryName)

Load class by its binary name.

pack-priv List<Class<?>>
scan(ModuleReference reference)

Scan module reference for classes that potentially contain testable methods.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

classFilterback to summary
private final ClassFilter classFilter
classLoaderback to summary
private final ClassLoader classLoader

Constructor Detail

ModuleReferenceClassScannerback to summary
pack-priv ModuleReferenceClassScanner(ClassFilter classFilter, ClassLoader classLoader)

Method Detail

classNameback to summary
private String className(String resourceName)

Convert resource name to binary class name.

loadClassUncheckedback to summary
private Class<?> loadClassUnchecked(String binaryName)

Load class by its binary name.

See Also
ClassLoader#loadClass(String)
scanback to summary
pack-priv List<Class<?>> scan(ModuleReference reference)

Scan module reference for classes that potentially contain testable methods.

org.junit.platform.commons.util back to summary

pack-priv Class ModuleUtils.ModuleReferenceResourceScanner

extends Object
Class Inheritance
  • java.lang.Object
  • org.junit.platform.commons.util.ModuleUtils.ModuleReferenceResourceScanner

ModuleReference resource class scanner.
Since
1.11

Field Summary

Modifier and TypeField and Description
private final ClassLoader
private final ResourceFilter

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private Resource
pack-priv List<Resource>
scan(ModuleReference reference)

Scan module reference for resources that potentially contain testable resources.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

classLoaderback to summary
private final ClassLoader classLoader
resourceFilterback to summary
private final ResourceFilter resourceFilter

Constructor Detail

ModuleReferenceResourceScannerback to summary
pack-priv ModuleReferenceResourceScanner(ResourceFilter resourceFilter, ClassLoader classLoader)

Method Detail

loadResourceUncheckedback to summary
private Resource loadResourceUnchecked(String binaryName)
scanback to summary
pack-priv List<Resource> scan(ModuleReference reference)

Scan module reference for resources that potentially contain testable resources.