Interface ClassFinder
-
- All Superinterfaces:
Serializable
- All Known Implementing Classes:
ClassFinder.CachedClassFinder
,ClassFinder.DefaultClassFinder
public interface ClassFinder extends Serializable
Interface for annotated and subclass class searches.For internal use only. May be renamed or removed in a future release.
- Since:
- 2.0
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
ClassFinder.CachedClassFinder
Implementation that proxy and cache a realClassFinder
.static class
ClassFinder.DefaultClassFinder
Implementation that searches for annotated classes or subclasses in a list of classes.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Set<Class<?>>
getAnnotatedClasses(Class<? extends Annotation> clazz)
Get annotated classes in the classloader.default Set<Class<?>>
getAnnotatedClasses(String className)
Get annotated classes in the classloader.ClassLoader
getClassLoader()
Get class loader which is used to find classes.URL
getResource(String name)
Get a resource from the classpath.<T> Set<Class<? extends T>>
getSubTypesOf(Class<T> type)
Gets all subtypes in hierarchy of a given type.default <T> Set<Class<? extends T>>
getSubTypesOf(String name)
Gets all subtypes in hierarchy of a given type, using FQN string.<T> Class<T>
loadClass(String name)
Load a class in the classloader.
-
-
-
Method Detail
-
getAnnotatedClasses
Set<Class<?>> getAnnotatedClasses(Class<? extends Annotation> clazz)
Get annotated classes in the classloader.- Parameters:
clazz
- the annotation- Returns:
- a set with all classes that are annotated
-
getAnnotatedClasses
default Set<Class<?>> getAnnotatedClasses(String className) throws ClassNotFoundException
Get annotated classes in the classloader.- Parameters:
className
- the annotation class name- Returns:
- a set with all classes that are annotated
- Throws:
ClassNotFoundException
- when the class not found
-
getResource
URL getResource(String name)
Get a resource from the classpath.- Parameters:
name
- class literal- Returns:
- the resource
-
loadClass
<T> Class<T> loadClass(String name) throws ClassNotFoundException
Load a class in the classloader.- Parameters:
name
- the class literal- Returns:
- the class
- Throws:
ClassNotFoundException
- when the class is not in the classpath
-
getSubTypesOf
<T> Set<Class<? extends T>> getSubTypesOf(Class<T> type)
Gets all subtypes in hierarchy of a given type.- Type Parameters:
T
- the class of the type- Parameters:
type
- the type to search for the subtypes for- Returns:
- set of the subtypes of the given class
-
getClassLoader
ClassLoader getClassLoader()
Get class loader which is used to find classes.- Returns:
- the class loader which is used to find classes..
-
getSubTypesOf
default <T> Set<Class<? extends T>> getSubTypesOf(String name) throws ClassNotFoundException
Gets all subtypes in hierarchy of a given type, using FQN string.- Type Parameters:
T
- the class of the type- Parameters:
name
- Fully qualified name of the type to search subtypes of- Returns:
- set of the subtypes of the given class
- Throws:
ClassNotFoundException
- when the parent class is not in the classpath
-
-