public class AnnotationScannerListener extends Object implements ScannerListener
Java classes of a Java class file are processed, using ASM, to ascertain if those classes are annotated with one or more of the set of declared annotations.
Such an annotated Java class of a Java class file is loaded if the class is public or is an inner class that is static and public.
Constructor and Description |
---|
AnnotationScannerListener(Class<? extends Annotation>... annotations)
Create a scanner listener to check for annotated Java classes in Java
class files.
|
AnnotationScannerListener(ClassLoader classloader,
Class<? extends Annotation>... annotations)
Create a scanner listener to check for annotated Java classes in Java
class files.
|
Modifier and Type | Method and Description |
---|---|
Set<Class<?>> |
getAnnotatedClasses()
Get the set of annotated classes.
|
boolean |
onAccept(String name)
Accept a scanned resource.
|
void |
onProcess(String name,
InputStream in)
Process a scanned resource.
|
public AnnotationScannerListener(Class<? extends Annotation>... annotations)
annotations
- the set of annotation classes to check on Java class
files.public AnnotationScannerListener(ClassLoader classloader, Class<? extends Annotation>... annotations)
classloader
- the class loader to use to load Java classes that
are annotated with any one of the annotations.annotations
- the set of annotation classes to check on Java class
files.public Set<Class<?>> getAnnotatedClasses()
public boolean onAccept(String name)
ScannerListener
This method will be invoked by a Scanner
to ascertain if the
listener accepts the resource for processing. If acceptable then
the Scanner
will then invoke the
ScannerListener.onProcess(java.lang.String, java.io.InputStream)
method.
onAccept
in interface ScannerListener
name
- the resource name.public void onProcess(String name, InputStream in) throws IOException
ScannerListener
This method will be invoked after the listener has accepted the resource.
onProcess
in interface ScannerListener
name
- the resource name.in
- the input stream of the resourceIOException
- if an error occurs when processing the resource.Copyright © 2013 Oracle Corporation. All rights reserved.