JarContents (Apache Tomcat 9.0.118 API Documentation)
Description: declaration: package: org.apache.catalina.webresources, class: JarContents

# Class JarContents

java.lang.Object
org.apache.catalina.webresources.JarContents

public final class JarContents extends Object
This class represents the contents of a jar by determining whether a given resource might be in the cache, based on a bloom filter. This is not a general-purpose bloom filter because it contains logic to strip out characters from the beginning of the key. The hash methods are simple but good enough for this purpose.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `JarContents(Collection<JarEntry> entries)`
  Populates the bit array from the provided set of JAR entries.
  `JarContents(JarFile jar)`
  Parses the passed-in jar and populates the bit array.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `mightContainResource(String path, String webappRoot)`
  Method that identifies whether a given path MIGHT be in this jar.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### JarContents

    public JarContents(JarFile jar)
    Parses the passed-in jar and populates the bit array.
    Parameters:
      `jar` - the JAR file

  - ### JarContents

    public JarContents(Collection<JarEntry> entries)
    Populates the bit array from the provided set of JAR entries.
    Parameters:
      `entries` - The set of entries for the JAR file being processed

- ## Method Details

  - ### mightContainResource

    public boolean mightContainResource(String path, String webappRoot)
    Method that identifies whether a given path MIGHT be in this jar. Uses the Bloom filter mechanism.
    Parameters:
      `path` - Requested path. Sometimes starts with "/WEB-INF/classes".
      `webappRoot` - The value of the webapp location, which can be stripped from the path. Typically it is "/WEB-INF/classes".
    Returns:
      Whether the prefix of the path is known to be in this jar.