## com.sun.jersey.spi.scanning
Class AnnotationScannerListener

    java.lang.Object
      com.sun.jersey.spi.scanning.AnnotationScannerListener

All Implemented Interfaces:
  ScannerListener

Direct Known Subclasses:
  PathProviderScannerListener

    public class AnnotationScannerListener

extends java.lang.Object
implements ScannerListener

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@Sun.Com

Constructor Summary
`AnnotationScannerListener(java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)` Create a scanner listener to check for annotated Java classes in Java class files.
`AnnotationScannerListener(java.lang.ClassLoader classloader, java.lang.Class<? extends java.lang.annotation.Annotation>... annotations)` Create a scanner listener to check for annotated Java classes in Java class files.

Method Summary
`java.util.Set<java.lang.Class<?>>` | `getAnnotatedClasses()` Get the set of annotated classes.
`boolean` | `onAccept(java.lang.String name)` Accept a scanned resource.
`void` | `onProcess(java.lang.String name, java.io.InputStream in)` Process a scanned resource.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AnnotationScannerListener

    public AnnotationScannerListener(java.lang.Class<? extends java.lang.annotation.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.

### AnnotationScannerListener

    public AnnotationScannerListener(java.lang.ClassLoader classloader,
                                     java.lang.Class<? extends java.lang.annotation.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

### getAnnotatedClasses

    public java.util.Set<java.lang.Class<?>> getAnnotatedClasses()

  Get the set of annotated classes.

  Returns:
    the set of annotated classes.

### onAccept

    public boolean onAccept(java.lang.String name)

  Description copied from interface: `ScannerListener`
  Accept a scanned resource.

  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.

  Specified by:
    `onAccept` in interface `ScannerListener`
  Parameters:
    `name` - the resource name.
  Returns:
    true if the resource is accepted for processing, otherwise false.

### onProcess

    public void onProcess(java.lang.String name,
                          java.io.InputStream in)
                   throws java.io.IOException

  Description copied from interface: `ScannerListener`
  Process a scanned resource.

  This method will be invoked after the listener has accepted the resource.

  Specified by:
    `onProcess` in interface `ScannerListener`
  Parameters:
    `name` - the resource name.
    `in` - the input stream of the resource
  Throws:
    `java.io.IOException` - if an error occurs when processing the resource.

Copyright © 2017 Oracle Corporation. All Rights Reserved.