Package org.apache.catalina.webresources
Class JarContents
- java.lang.Object
-
- org.apache.catalina.webresources.JarContents
-
public final class JarContents extends java.lang.ObjectThis 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(java.util.Collection<java.util.jar.JarEntry> entries)Populates the bit array from the provided set of JAR entries.JarContents(java.util.jar.JarFile jar)Parses the passed-in jar and populates the bit array.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanmightContainResource(java.lang.String path, java.lang.String webappRoot)Method that identifies whether a given path MIGHT be in this jar.
-
-
-
Constructor Detail
-
JarContents
public JarContents(java.util.jar.JarFile jar)
Parses the passed-in jar and populates the bit array.- Parameters:
jar- the JAR file
-
JarContents
public JarContents(java.util.Collection<java.util.jar.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 Detail
-
mightContainResource
public boolean mightContainResource(java.lang.String path, java.lang.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.
-
-