Interface Scanner<T>

  • All Known Implementing Classes:
    DirectoryScanner, JarScanner

    @Contract
    public interface Scanner<T>
    This interface is responsible for scanning the binary location provided and provide each binary file through a pull interfaces
    Author:
    Jerome Dochez
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      ClassLoader getClassLoader()
      Returns a ClassLoader capable of loading classes from the underlying medium
      ComponentInfo getComponentInfo​(Class componentImpl)
      Sometimes, annotations processing requires more than a single class, especially when such classes end up being a Java Component (Java Beans, Java EE).
      Set<Class> getElements()
      Return a complete set of classes available from this location.
      org.glassfish.hk2.classmodel.reflect.Types getTypes()
      Return the types information for this module
      void process​(File archiveFile, T bundleDesc, ClassLoader classLoader)
      Scan the archive file and gather a list of classes that should be processed for anntoations
    • Method Detail

      • process

        void process​(File archiveFile,
                     T bundleDesc,
                     ClassLoader classLoader)
              throws IOException
        Scan the archive file and gather a list of classes that should be processed for anntoations
        Parameters:
        archiveFile - the archive file for scanning
        bundleDesc - the bundle descriptor associated with this archive
        classloader - the classloader used to scan the annotation
        Throws:
        IOException
      • getClassLoader

        ClassLoader getClassLoader()
        Returns a ClassLoader capable of loading classes from the underlying medium
        Returns:
        a class loader capable of loading the classes
      • getElements

        Set<Class> getElements()
        Return a complete set of classes available from this location.
        Returns:
        the complete set of classes
      • getComponentInfo

        ComponentInfo getComponentInfo​(Class componentImpl)
        Sometimes, annotations processing requires more than a single class, especially when such classes end up being a Java Component (Java Beans, Java EE). The implementation returned from the getComponent will be responsible for defining the complete view of this component starting from it's implementation class.
        Parameters:
        componentImpl - class of the component.
      • getTypes

        org.glassfish.hk2.classmodel.reflect.Types getTypes()
        Return the types information for this module
        Returns:
        types the archive resulting types