Package org.apache.tomcat.util.scan

# Class StandardJarScanFilter

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

All Implemented Interfaces:
  `JarScanFilter`

public class StandardJarScanFilter extends Object implements JarScanFilter

## 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)`
`String`
`getPluggabilityScan()`
`String`
`getPluggabilitySkip()`
`String`
`getTldScan()`
`String`
`getTldSkip()`
`boolean`
`isDefaultPluggabilityScan()`
`boolean`
`isDefaultTldScan()`
`boolean`
`isSkipAll()`
`void`
`setDefaultPluggabilityScan(boolean defaultPluggabilityScan)`
`void`
`setDefaultTldScan(boolean defaultTldScan)`
`void`
`setPluggabilityScan(String pluggabilityScan)`
`void`
`setPluggabilitySkip(String pluggabilitySkip)`
`void`
`setTldScan(String tldScan)`
`void`
`setTldSkip(String tldSkip)`

### Methods inherited from class java.lang.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()

### setTldSkip

public void setTldSkip(String tldSkip)

### getTldScan

public String getTldScan()

### setTldScan

public void setTldScan(String tldScan)

### isSkipAll

public boolean isSkipAll()

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()

### setDefaultTldScan

public void setDefaultTldScan(boolean defaultTldScan)

### getPluggabilitySkip

public String getPluggabilitySkip()

### setPluggabilitySkip

public void setPluggabilitySkip(String pluggabilitySkip)

### getPluggabilityScan

public String getPluggabilityScan()

### setPluggabilityScan

public void setPluggabilityScan(String pluggabilityScan)

### isDefaultPluggabilityScan

public boolean isDefaultPluggabilityScan()

### setDefaultPluggabilityScan

public void setDefaultPluggabilityScan(boolean defaultPluggabilityScan)

### check

public boolean check(JarScanType jarScanType, String jarName)

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