# 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

Modifier and Type
Method
Description
`void`
`scan(File file, String webappPath, boolean isWebapp)`
A directory was found that is to be treated as an unpacked JAR.
`void`
`scan(Jar jar, 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 Details

### scan

void scan(Jar jar, String webappPath, boolean isWebapp) throws 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:
  `IOException` - if an I/O error occurs while scanning the JAR

### scan

void scan(File file, String webappPath, boolean isWebapp) throws 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:
  `IOException` - if an I/O error occurs while scanning the JAR

### scanWebInfClasses

void scanWebInfClasses() throws 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:
  `IOException` - if an I/O error occurs while scanning WEB-INF/classes