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 voidclose()static AnnotationScannerforAllClassesFromClassLoader(java.lang.ClassLoader classloader)static AnnotationScannerforAllClassesFromClassLoader(java.lang.String packagePrefix, java.lang.ClassLoader classloader)static AnnotationScannerforAllClassesFromContextClassLoader()static AnnotationScannerforSpecificJar(java.io.File jar)static AnnotationScannerforSpecificJar(java.io.File jar, java.lang.ClassLoader classLoaderForResultClassesAndMethods)static AnnotationScannerforSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader)Scans the jar files of a specificURLClassLoaderstatic AnnotationScannerforSpecificJarFromURLClassLoader(java.net.URLClassLoader classloader, java.lang.ClassLoader classLoaderForResultClassesAndMethods)Scans the jar files of a specificURLClassLoaderjava.util.Set<java.lang.Class<?>>getClassesWithAnnotation(java.lang.Class<? extends java.lang.annotation.Annotation> annotationClass)Get all classes annotated by the providedAnnotationjava.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
AnnotationScannerscanning 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
AnnotationScannerscanning 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
AnnotationScannerscanning 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
AnnotationScannerscanning 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 specificClassLoaderto scan theURLs of- Returns:
- an instance of
AnnotationScannerscanning 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 specificClassLoaderto scan theURLsclassLoaderForResultClassesAndMethods- theClassLoadercontaining the context- Returns:
- an instance of
AnnotationScannerscanning 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
Setof 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
Setof methods annotated by the providedAnnotation
-
close
public void close()
- Specified by:
closein interfacejava.lang.AutoCloseable
-
-