Class AnnotationScanner

java.lang.Object
com.sun.faces.spi.AnnotationProvider
com.sun.faces.config.manager.spi.AnnotationScanner

public abstract class AnnotationScanner extends AnnotationProvider
This class is responsible for ensuring that the class file bytes of classes contained within the web application are scanned for any of the known Faces configuration Annotations:
  • jakarta.faces.component.FacesBehavior
  • jakarta.faces.render.FacesBehaviorRenderer
  • jakarta.faces.component.FacesComponent
  • jakarta.faces.convert.FacesConverter
  • jakarta.faces.validator.FacesValidator
  • jakarta.faces.render.FacesRenderer
  • jakarta.faces.event.NamedEvent
  • jakarta.faces.view.facelets.FaceletsResourceResolver
  • Field Details

    • FACES_ANNOTATIONS

      protected static final Set<String> FACES_ANNOTATIONS
    • FACES_ANNOTATION_TYPE

      protected static final Set<Class<? extends Annotation>> FACES_ANNOTATION_TYPE
  • Constructor Details

    • AnnotationScanner

      public AnnotationScanner(jakarta.servlet.ServletContext sc)
      Creates a new AnnotationScanner instance.
      Parameters:
      sc - the ServletContext for the application to be scanned
  • Method Details

    • processJar

      protected boolean processJar(String entry)
    • processClass

      protected boolean processClass(String candidate)
      Parameters:
      candidate - the class that should be processed
      Returns:
      true if the class should be processed further, otherwise, false
    • processClass

      protected boolean processClass(String candidate, String[] packages)
    • processClassList

      protected Map<Class<? extends Annotation>,Set<Class<?>>> processClassList(Set<String> classList)
    • isAnnotationScanPackagesSet

      protected boolean isAnnotationScanPackagesSet()
    • getClasspathPackages

      protected Map<String,String[]> getClasspathPackages()
    • getWebInfClassesPackages

      protected String[] getWebInfClassesPackages()