# Interface JarScanner

All Known Implementing Classes:
  `StandardJarScanner`

public interface JarScanner
Scans a web application and classloader hierarchy for JAR files. Uses include TLD scanning and web-fragment.xml scanning. Uses a call-back mechanism so the caller can process each JAR found.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `JarScanFilter`
  `getJarScanFilter()`
  Get the JAR scan filter currently in use.
  `void`
  `scan(JarScanType scanType, ServletContext context, JarScannerCallback callback)`
  Scan the provided ServletContext and classloader for JAR files.
  `void`
  `setJarScanFilter(JarScanFilter jarScanFilter)`
  Set the JAR scan filter to use.

- ## Method Details

  - ### scan

    void scan(JarScanType scanType, ServletContext context, JarScannerCallback callback)
    Scan the provided ServletContext and classloader for JAR files. Each JAR file found will be passed to the callback handler to be processed.
    Parameters:
      `scanType` - The type of JAR scan to perform. This is passed to the filter which uses it to determine how to filter the results
      `context` - The ServletContext - used to locate and access WEB-INF/lib
      `callback` - The handler to process any JARs found

  - ### getJarScanFilter

    JarScanFilter getJarScanFilter()
    Get the JAR scan filter currently in use.
    Returns:
      the JAR scan filter

  - ### setJarScanFilter

    void setJarScanFilter(JarScanFilter jarScanFilter)
    Set the JAR scan filter to use.
    Parameters:
      `jarScanFilter` - the JAR scan filter