Package org.apache.catalina.webresources

# 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(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 java.lang.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

- ## 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 is "/WEB-INF/classes".
    Returns:
      Whether the prefix of the path is known to be in this jar.