Interface ClasspathScanner
- All Known Implementing Classes:
DefaultClasspathScanner
@API(status=EXPERIMENTAL,
since="1.12")
public interface ClasspathScanner
ClasspathScanner allows to scan the classpath for classes and
resources.
An implementation of this interface can be registered via the
ServiceLoader mechanism.
- Since:
- 1.12
-
Method Summary
Modifier and TypeMethodDescriptionscanForClassesInClasspathRoot(URI root, ClassFilter classFilter) scanForClassesInPackage(String basePackageName, ClassFilter classFilter) scanForResourcesInClasspathRoot(URI root, Predicate<Resource> resourceFilter) Find all resources in the supplied classpathrootthat match the specifiedresourceFilterpredicate.scanForResourcesInPackage(String basePackageName, Predicate<Resource> resourceFilter) Find all resources in the supplied classpathrootthat match the specifiedresourceFilterpredicate.
-
Method Details
-
scanForClassesInPackage
Find all classes in the supplied classpathrootthat match the specifiedclassFilterfilter.The classpath scanning algorithm searches recursively in subpackages beginning with the root of the classpath.
- Parameters:
basePackageName- the name of the base package in which to start scanning; must not benulland must be valid in terms of Java syntaxclassFilter- the class type filter; nevernull- Returns:
- a list of all such classes found; never
nullbut potentially empty
-
scanForClassesInClasspathRoot
Find all classes in the supplied classpathrootthat match the specifiedclassFilterfilter.The classpath scanning algorithm searches recursively in subpackages beginning with the root of the classpath.
- Parameters:
root- the URI for the classpath root in which to scan; nevernullclassFilter- the class type filter; nevernull- Returns:
- a list of all such classes found; never
nullbut potentially empty
-
scanForResourcesInPackage
List<Resource> scanForResourcesInPackage(String basePackageName, Predicate<Resource> resourceFilter) Find all resources in the supplied classpathrootthat match the specifiedresourceFilterpredicate.The classpath scanning algorithm searches recursively in subpackages beginning with the root of the classpath.
- Parameters:
basePackageName- the name of the base package in which to start scanning; must not benulland must be valid in terms of Java syntaxresourceFilter- the resource type filter; nevernull- Returns:
- a list of all such resources found; never
nullbut potentially empty
-
scanForResourcesInClasspathRoot
Find all resources in the supplied classpathrootthat match the specifiedresourceFilterpredicate.The classpath scanning algorithm searches recursively in subpackages beginning with the root of the classpath.
- Parameters:
root- the URI for the classpath root in which to scan; nevernullresourceFilter- the resource type filter; nevernull- Returns:
- a list of all such resources found; never
nullbut potentially empty
-