Class AnnotationAcceptingListener
java.lang.Object
org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener
- All Implemented Interfaces:
ResourceProcessor
A scanner listener that processes Java class files (resource names
ending in ".class") annotated with one or more of a set of declared
annotations.
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.
- Author:
- Paul Sandoz
-
Constructor Summary
ConstructorsConstructorDescriptionAnnotationAcceptingListener
(Class<? extends Annotation>... annotations) Create a scanner listener to check for annotated Java classes in Java class files.AnnotationAcceptingListener
(ClassLoader classloader, Class<? extends Annotation>... annotations) Create a scanner listener to check for annotated Java classes in Java class files. -
Method Summary
Modifier and TypeMethodDescriptionboolean
Accept a scanned resource.Get the set of annotated classes.static AnnotationAcceptingListener
static AnnotationAcceptingListener
newJaxrsResourceAndProviderListener
(ClassLoader classLoader) void
process
(String name, InputStream in) Process a scanned resource.
-
Constructor Details
-
AnnotationAcceptingListener
Create a scanner listener to check for annotated Java classes in Java class files.- Parameters:
annotations
- the set of annotation classes to check on Java class files.
-
AnnotationAcceptingListener
public AnnotationAcceptingListener(ClassLoader classloader, Class<? extends Annotation>... annotations) Create a scanner listener to check for annotated Java classes in Java class files.- Parameters:
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.
-
-
Method Details
-
newJaxrsResourceAndProviderListener
Create a scanning listener to check for Java classes in Java class files annotated withPath
orProvider
.- Returns:
- new instance of
AnnotationAcceptingListener
which looks forPath
orProvider
annotated classes.
-
newJaxrsResourceAndProviderListener
public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener(ClassLoader classLoader) Create a scanning listener to check for Java classes in Java class files annotated withPath
orProvider
.- Parameters:
classLoader
- the class loader to use to load Java classes that are annotated with any one of the annotations.- Returns:
- new instance of
AnnotationAcceptingListener
which looks forPath
orProvider
annotated classes.
-
getAnnotatedClasses
Get the set of annotated classes.- Returns:
- the set of annotated classes.
-
accept
Description copied from interface:ResourceProcessor
Accept a scanned resource.- Specified by:
accept
in interfaceResourceProcessor
- Parameters:
name
- the resource name.- Returns:
- true if the resource is accepted for processing, otherwise false.
-
process
Description copied from interface:ResourceProcessor
Process a scanned resource.This method will be invoked after the listener has accepted the resource.
- Specified by:
process
in interfaceResourceProcessor
- Parameters:
name
- the resource name.in
- the input stream of the resource- Throws:
IOException
- if an error occurs when processing the resource.
-