Package org.apache.camel.spi
Interface PackageScanClassResolver
-
- All Superinterfaces:
AutoCloseable
,Service
,StaticService
public interface PackageScanClassResolver extends StaticService
A resolver that can find classes based on package scanning.- See Also:
PackageScanResourceResolver
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
addClassLoader(ClassLoader classLoader)
Adds the class loader to the existing loadersvoid
addFilter(PackageScanFilter filter)
Add a filter that will be applied to all scan operationsvoid
clearCache()
Clears and frees the internal cache.Set<Class<?>>
findAnnotated(Class<? extends Annotation> annotation, String... packageNames)
Attempts to discover classes that are annotated with to the annotation.Set<Class<?>>
findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
Attempts to discover classes that are annotated with to the annotation.Set<Class<?>>
findByFilter(PackageScanFilter filter, String... packageNames)
Attempts to discover classes filter by the provided filterSet<Class<?>>
findImplementations(Class<?> parent, String... packageNames)
Attempts to discover classes that are assignable to the type provided.Set<ClassLoader>
getClassLoaders()
Gets the ClassLoader instances that should be used when scanning for classes.void
removeFilter(PackageScanFilter filter)
Removes the filtervoid
setAcceptableSchemes(String schemes)
To specify a set of accepted schemas to use for loading resources as URL connections (besides http and https schemas)
-
-
-
Method Detail
-
getClassLoaders
Set<ClassLoader> getClassLoaders()
Gets the ClassLoader instances that should be used when scanning for classes. This implementation will return a new unmodifiable set containing the classloaders. Use theaddClassLoader(ClassLoader)
method if you want to add new classloaders to the class loaders list.- Returns:
- the class loaders to use
-
addClassLoader
void addClassLoader(ClassLoader classLoader)
Adds the class loader to the existing loaders- Parameters:
classLoader
- the loader to add
-
findAnnotated
Set<Class<?>> findAnnotated(Class<? extends Annotation> annotation, String... packageNames)
Attempts to discover classes that are annotated with to the annotation.- Parameters:
annotation
- the annotation that should be present on matching classespackageNames
- one or more package names to scan (including subpackages) for classes- Returns:
- the classes found, returns an empty set if none found
-
findAnnotated
Set<Class<?>> findAnnotated(Set<Class<? extends Annotation>> annotations, String... packageNames)
Attempts to discover classes that are annotated with to the annotation.- Parameters:
annotations
- the annotations that should be present (any of them) on matching classespackageNames
- one or more package names to scan (including subpackages) for classes- Returns:
- the classes found, returns an empty set if none found
-
findImplementations
Set<Class<?>> findImplementations(Class<?> parent, String... packageNames)
Attempts to discover classes that are assignable to the type provided. In the case that an interface is provided this method will collect implementations. In the case of a non-interface class, subclasses will be collected.- Parameters:
parent
- the class of interface to find subclasses or implementations ofpackageNames
- one or more package names to scan (including subpackages) for classes- Returns:
- the classes found, returns an empty set if none found
-
findByFilter
Set<Class<?>> findByFilter(PackageScanFilter filter, String... packageNames)
Attempts to discover classes filter by the provided filter- Parameters:
filter
- filter to filter desired classes.packageNames
- one or more package names to scan (including subpackages) for classes- Returns:
- the classes found, returns an empty set if none found
-
addFilter
void addFilter(PackageScanFilter filter)
Add a filter that will be applied to all scan operations- Parameters:
filter
- filter to filter desired classes in all scan operations
-
removeFilter
void removeFilter(PackageScanFilter filter)
Removes the filter- Parameters:
filter
- filter to filter desired classes in all scan operations
-
setAcceptableSchemes
void setAcceptableSchemes(String schemes)
To specify a set of accepted schemas to use for loading resources as URL connections (besides http and https schemas)
-
clearCache
void clearCache()
Clears and frees the internal cache.
-
-