Class AnnotationAcceptingListener
- java.lang.Object
-
- org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener
-
- All Implemented Interfaces:
ResourceProcessor
public final class AnnotationAcceptingListener extends Object implements 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
Constructors Constructor Description AnnotationAcceptingListener(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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanaccept(String name)Accept a scanned resource.Set<Class<?>>getAnnotatedClasses()Get the set of annotated classes.static AnnotationAcceptingListenernewJaxrsResourceAndProviderListener()static AnnotationAcceptingListenernewJaxrsResourceAndProviderListener(ClassLoader classLoader)voidprocess(String name, InputStream in)Process a scanned resource.
-
-
-
Constructor Detail
-
AnnotationAcceptingListener
public AnnotationAcceptingListener(Class<? extends Annotation>... annotations)
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 Detail
-
newJaxrsResourceAndProviderListener
public static AnnotationAcceptingListener 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
public Set<Class<?>> getAnnotatedClasses()
Get the set of annotated classes.- Returns:
- the set of annotated classes.
-
accept
public boolean accept(String name)
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
public void process(String name, InputStream in) throws IOException
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.
-
-