StandardJarScanFilter (Apache Tomcat 10.1.57 API Documentation)
Description: declaration: package: org.apache.tomcat.util.scan, class: StandardJarScanFilter

# Class StandardJarScanFilter

java.lang.Object
org.apache.tomcat.util.scan.StandardJarScanFilter

All Implemented Interfaces:
  `JarScanFilter`

public class StandardJarScanFilter extends Object implements JarScanFilter
Standard implementation of JarScanFilter that provides configuration for JAR scanning filters.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `StandardJarScanFilter()`
  This is the standard implementation of `JarScanFilter`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `check(JarScanType jarScanType, String jarName)`
  Check if a JAR should be included in the scan results.
  `String`
  `getPluggabilityScan()`
  Returns the pluggability scan pattern.
  `String`
  `getPluggabilitySkip()`
  Returns the pluggability skip pattern.
  `String`
  `getTldScan()`
  Returns the TLD scan pattern.
  `String`
  `getTldSkip()`
  Returns the TLD skip pattern.
  `boolean`
  `isDefaultPluggabilityScan()`
  Returns whether default pluggability scanning is enabled.
  `boolean`
  `isDefaultTldScan()`
  Returns whether default TLD scanning is enabled.
  `boolean`
  `isSkipAll()`
  Determine if all JAR scans should be skipped.
  `void`
  `setDefaultPluggabilityScan(boolean defaultPluggabilityScan)`
  Sets whether default pluggability scanning is enabled.
  `void`
  `setDefaultTldScan(boolean defaultTldScan)`
  Sets whether default TLD scanning is enabled.
  `void`
  `setPluggabilityScan(String pluggabilityScan)`
  Sets the pluggability scan pattern.
  `void`
  `setPluggabilitySkip(String pluggabilitySkip)`
  Sets the pluggability skip pattern.
  `void`
  `setTldScan(String tldScan)`
  Sets the TLD scan pattern.
  `void`
  `setTldSkip(String tldSkip)`
  Sets the TLD skip pattern.

  ### Methods inherited from class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### StandardJarScanFilter

    public StandardJarScanFilter()
    This is the standard implementation of `JarScanFilter`. By default, the following filtering rules are used:
    - JARs that match neither the skip nor the scan list will be included in scan results.
    - JARs that match the skip list but not the scan list will be excluded from scan results.
    - JARs that match the scan list will be included from scan results.
    The default skip list and default scan list are obtained from the system properties `Constants.SKIP_JARS_PROPERTY` and `Constants.SCAN_JARS_PROPERTY` respectively. These default values may be over-ridden for the `JarScanType.TLD` and `JarScanType.PLUGGABILITY` scans. The filtering rules may also be modified for these scan types using `setDefaultTldScan(boolean)` and `setDefaultPluggabilityScan(boolean)`. If set to `false`, the following filtering rules are used for associated type:
    - JARs that match neither the skip nor the scan list will be excluded from scan results.
    - JARs that match the scan list but not the skip list will be included in scan results.
    - JARs that match the skip list will be excluded from scan results.

- ## Method Details

  - ### getTldSkip

    public String getTldSkip()
    Returns the TLD skip pattern.
    Returns:
      the TLD skip pattern

  - ### setTldSkip

    public void setTldSkip(String tldSkip)
    Sets the TLD skip pattern.
    Parameters:
      `tldSkip` - the TLD skip pattern

  - ### getTldScan

    public String getTldScan()
    Returns the TLD scan pattern.
    Returns:
      the TLD scan pattern

  - ### setTldScan

    public void setTldScan(String tldScan)
    Sets the TLD scan pattern.
    Parameters:
      `tldScan` - the TLD scan pattern

  - ### isSkipAll

    public boolean isSkipAll()
    Description copied from interface: `JarScanFilter`
    Determine if all JAR scans should be skipped.
    Specified by:
      `isSkipAll` in interface `JarScanFilter`
    Returns:
      `true` if all of the scans should be skipped which can improve startup performance. The default is `false`.

  - ### isDefaultTldScan

    public boolean isDefaultTldScan()
    Returns whether default TLD scanning is enabled.
    Returns:
      true if default TLD scanning is enabled

  - ### setDefaultTldScan

    public void setDefaultTldScan(boolean defaultTldScan)
    Sets whether default TLD scanning is enabled.
    Parameters:
      `defaultTldScan` - true to enable default TLD scanning

  - ### getPluggabilitySkip

    public String getPluggabilitySkip()
    Returns the pluggability skip pattern.
    Returns:
      the pluggability skip pattern

  - ### setPluggabilitySkip

    public void setPluggabilitySkip(String pluggabilitySkip)
    Sets the pluggability skip pattern.
    Parameters:
      `pluggabilitySkip` - the pluggability skip pattern

  - ### getPluggabilityScan

    public String getPluggabilityScan()
    Returns the pluggability scan pattern.
    Returns:
      the pluggability scan pattern

  - ### setPluggabilityScan

    public void setPluggabilityScan(String pluggabilityScan)
    Sets the pluggability scan pattern.
    Parameters:
      `pluggabilityScan` - the pluggability scan pattern

  - ### isDefaultPluggabilityScan

    public boolean isDefaultPluggabilityScan()
    Returns whether default pluggability scanning is enabled.
    Returns:
      true if default pluggability scanning is enabled

  - ### setDefaultPluggabilityScan

    public void setDefaultPluggabilityScan(boolean defaultPluggabilityScan)
    Sets whether default pluggability scanning is enabled.
    Parameters:
      `defaultPluggabilityScan` - true to enable default pluggability scanning

  - ### check

    public boolean check(JarScanType jarScanType, String jarName)
    Description copied from interface: `JarScanFilter`
    Check if a JAR should be included in the scan results.
    Specified by:
      `check` in interface `JarScanFilter`
    Parameters:
      `jarScanType` - The type of JAR scan currently being performed
      `jarName` - The name of the JAR file (without any path information) to be checked to see if it should be included in the results or not
    Returns:
      `true` if the JAR should be returned in the results, `false` if it should be excluded