Package org.apache.tomcat

## Interface JarScannerCallback

- All Known Implementing Classes:
    `FragmentJarScannerCallback`

      public interface JarScannerCallback

  This interface is implemented by clients of the `JarScanner` to enable them to receive notification of a discovered JAR.

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `scan​(java.io.File file, java.lang.String webappPath, boolean isWebapp)` | A directory was found that is to be treated as an unpacked JAR.
    `void` | `scan​(Jar jar, java.lang.String webappPath, boolean isWebapp)` | A JAR was found and may be accessed for further processing via the provided URL connection.
    `void` | `scanWebInfClasses()` | A directory structure was found within the web application at /WEB-INF/classes that should be handled as an unpacked JAR.

- - ### Method Detail

    - #### scan

          void scan​(Jar jar,
                    java.lang.String webappPath,
                    boolean isWebapp)
             throws java.io.IOException

      A JAR was found and may be accessed for further processing via the provided URL connection. The caller is responsible for closing the JAR.
      Parameters:
        `jar` - The JAR to process
        `webappPath` - The path, if any, to the JAR within the web application
        `isWebapp` - Indicates if the JAR was found within a web application. If `false` the JAR should be treated as being provided by the container
      Throws:
        `java.io.IOException` - if an I/O error occurs while scanning the JAR

    - #### scan

          void scan​(java.io.File file,
                    java.lang.String webappPath,
                    boolean isWebapp)
             throws java.io.IOException

      A directory was found that is to be treated as an unpacked JAR. The directory may be accessed for further processing via the provided file.
      Parameters:
        `file` - The directory containing the unpacked JAR.
        `webappPath` - The path, if any, to the file within the web application
        `isWebapp` - Indicates if the JAR was found within a web application. If `false` the JAR should be treated as being provided by the container
      Throws:
        `java.io.IOException` - if an I/O error occurs while scanning the JAR

    - #### scanWebInfClasses

          void scanWebInfClasses()
                          throws java.io.IOException

      A directory structure was found within the web application at /WEB-INF/classes that should be handled as an unpacked JAR. Note that all resource access must be via the ServletContext to ensure that any additional resources are visible.
      Throws:
        `java.io.IOException` - if an I/O error occurs while scanning WEB-INF/classes