Package step.core.scanner
Class AnnotationScanner
- java.lang.Object
-
- step.core.scanner.AnnotationScanner
-
- All Implemented Interfaces:
java.lang.AutoCloseable
public class AnnotationScanner extends java.lang.Object implements java.lang.AutoCloseable
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
static AnnotationScanner
forAllClassesFromClassLoader(java.lang.ClassLoader classloader)
static AnnotationScanner
forAllClassesFromClassLoader(java.lang.String packagePrefix, java.lang.ClassLoader classloader)
static AnnotationScanner
forAllClassesFromContextClassLoader()
static AnnotationScanner
forSpecificJar(java.io.File jar)
static AnnotationScanner
forSpecificJar(java.io.File jar, java.lang.ClassLoader classLoaderForResultClassesAndMethods)
static AnnotationScanner
forSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader)
Scans the jar files of a specificURLClassLoader
static AnnotationScanner
forSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader, java.lang.ClassLoader classLoaderForResultClassesAndMethods)
Scans the jar files of a specificURLClassLoader
java.util.Set<java.lang.Class<?>>
getClassesWithAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Get all classes annotated by the providedAnnotation
java.util.Set<java.lang.reflect.Method>
getMethodsWithAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Get all methods annotated by the providedAnnotation
-
-
-
Method Detail
-
forAllClassesFromContextClassLoader
public static AnnotationScanner forAllClassesFromContextClassLoader()
- Returns:
- an instance of
AnnotationScanner
scanning all classes of the context class loader
-
forAllClassesFromClassLoader
public static AnnotationScanner forAllClassesFromClassLoader(java.lang.ClassLoader classloader)
- Parameters:
classloader
- theClassLoader
(including parents) to be scanned- Returns:
- an instance of
AnnotationScanner
scanning all classes of the provided class loader
-
forAllClassesFromClassLoader
public static AnnotationScanner forAllClassesFromClassLoader(java.lang.String packagePrefix, java.lang.ClassLoader classloader)
- Parameters:
packagePrefix
- the specific package to be scannedclassloader
- theClassLoader
(including parents) to be scanned- Returns:
- an instance of
AnnotationScanner
scanning all classes of the provided class loader
-
forSpecificJar
public static AnnotationScanner forSpecificJar(java.io.File jar)
- Parameters:
jar
- the specific jar file to be scanned- Returns:
- an instance of
AnnotationScanner
scanning all classes of the provided jar file
-
forSpecificJar
public static AnnotationScanner forSpecificJar(java.io.File jar, java.lang.ClassLoader classLoaderForResultClassesAndMethods)
-
forSpecificJarFromURLClassLoader
public static AnnotationScanner forSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader)
Scans the jar files of a specificURLClassLoader
- Parameters:
classloader
- the specificClassLoader
to scan theURL
s of- Returns:
- an instance of
AnnotationScanner
scanning all classes of the providedURLClassLoader
(parent excluded)
-
forSpecificJarFromURLClassLoader
public static AnnotationScanner forSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader, java.lang.ClassLoader classLoaderForResultClassesAndMethods)
Scans the jar files of a specificURLClassLoader
- Parameters:
classloader
- the specificClassLoader
to scan theURL
sclassLoaderForResultClassesAndMethods
- theClassLoader
containing the context- Returns:
- an instance of
AnnotationScanner
scanning all classes of the providedURLClassLoader
(parent excluded)
-
getClassesWithAnnotation
public java.util.Set<java.lang.Class<?>> getClassesWithAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Get all classes annotated by the providedAnnotation
- Parameters:
annotationClass
-- Returns:
- the
Set
of classes annotated by the providedAnnotation
-
getMethodsWithAnnotation
public java.util.Set<java.lang.reflect.Method> getMethodsWithAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)
Get all methods annotated by the providedAnnotation
- Parameters:
annotationClass
-- Returns:
- the
Set
of methods annotated by the providedAnnotation
-
close
public void close()
- Specified by:
close
in interfacejava.lang.AutoCloseable
-
-