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 TypeMethodDescriptionbooleanAccept a scanned resource.Get the set of annotated classes.static AnnotationAcceptingListenerstatic AnnotationAcceptingListenernewJaxrsResourceAndProviderListener(ClassLoader classLoader) voidprocess(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 withPathorProvider.- Returns:
- new instance of
AnnotationAcceptingListenerwhich looks forPathorProviderannotated classes.
-
newJaxrsResourceAndProviderListener
public static AnnotationAcceptingListener newJaxrsResourceAndProviderListener(ClassLoader classLoader) Create a scanning listener to check for Java classes in Java class files annotated withPathorProvider.- Parameters:
classLoader- the class loader to use to load Java classes that are annotated with any one of the annotations.- Returns:
- new instance of
AnnotationAcceptingListenerwhich looks forPathorProviderannotated classes.
-
getAnnotatedClasses
Get the set of annotated classes.- Returns:
- the set of annotated classes.
-
accept
Description copied from interface:ResourceProcessorAccept a scanned resource.- Specified by:
acceptin interfaceResourceProcessor- Parameters:
name- the resource name.- Returns:
- true if the resource is accepted for processing, otherwise false.
-
process
Description copied from interface:ResourceProcessorProcess a scanned resource.This method will be invoked after the listener has accepted the resource.
- Specified by:
processin interfaceResourceProcessor- Parameters:
name- the resource name.in- the input stream of the resource- Throws:
IOException- if an error occurs when processing the resource.
-