Package org.apache.catalina.webresources

## Class JarResourceSet

- java.lang.Object
- - org.apache.catalina.util.LifecycleBase
  - - org.apache.catalina.webresources.AbstractResourceSet
    - - org.apache.catalina.webresources.AbstractArchiveResourceSet
      - - org.apache.catalina.webresources.AbstractSingleArchiveResourceSet
        - - org.apache.catalina.webresources.JarResourceSet

All Implemented Interfaces:
  `Lifecycle`, `WebResourceSet`

    public class JarResourceSet
    extends AbstractSingleArchiveResourceSet

Represents a `WebResourceSet` based on a JAR file.

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle

`Lifecycle.SingleUse`

### Field Summary

### Fields inherited from class org.apache.catalina.webresources.AbstractArchiveResourceSet

`archiveEntries, archiveLock`

### Fields inherited from class org.apache.catalina.webresources.AbstractResourceSet

`sm`

### Fields inherited from interface org.apache.catalina.Lifecycle

`AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT`

### Constructor Summary

Constructors
`JarResourceSet()` A no argument constructor is required for this to work with the digester.
`JarResourceSet​(WebResourceRoot root, String webAppMount, String base, String internalPath)` Creates a new `WebResourceSet` based on a JAR file.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected WebResource` `createArchiveResource​(JarEntry jarEntry, String webAppPath, Manifest manifest)`

### Methods inherited from class org.apache.catalina.webresources.AbstractSingleArchiveResourceSet

`getArchiveEntries, getArchiveEntry, initInternal, isMultiRelease`

### Methods inherited from class org.apache.catalina.webresources.AbstractArchiveResourceSet

`closeJarFile, gc, getBaseUrl, getBaseUrlString, getResource, isReadOnly, list, listWebAppPaths, mkdir, openJarFile, setBaseUrl, setReadOnly, write`

### Methods inherited from class org.apache.catalina.webresources.AbstractResourceSet

`checkPath, destroyInternal, getBase, getClassLoaderOnly, getInternalPath, getManifest, getRoot, getStaticOnly, getWebAppMount, setBase, setClassLoaderOnly, setInternalPath, setManifest, setRoot, setStaticOnly, setWebAppMount, startInternal, stopInternal`

### Methods inherited from class org.apache.catalina.util.LifecycleBase

`addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop`

### Methods inherited from class java.lang.Object

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

### Methods inherited from interface org.apache.catalina.Lifecycle

`addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop`

### Constructor Detail

#### JarResourceSet

    public JarResourceSet()

A no argument constructor is required for this to work with the digester.

#### JarResourceSet

    public JarResourceSet​(WebResourceRoot root,
                          String webAppMount,
                          String base,
                          String internalPath)
                   throws IllegalArgumentException

Creates a new `WebResourceSet` based on a JAR file.

Parameters:
  `root` - The `WebResourceRoot` this new `WebResourceSet` will be added to.
  `webAppMount` - The path within the web application at which this `WebResourceSet` will be mounted.
  `base` - The absolute path to the JAR file on the file system from which the resources will be served.
  `internalPath` - The path within this new `WebResourceSet` where resources will be served from. E.g. for a resource JAR, this would be "META-INF/resources"
Throws:
  `IllegalArgumentException` - if the webAppMount or internalPath is not valid (valid paths must start with '/')

### Method Detail

#### createArchiveResource

    protected WebResource createArchiveResource​(JarEntry jarEntry,
                                                String webAppPath,
                                                Manifest manifest)

Specified by:
  `createArchiveResource` in class `AbstractArchiveResourceSet`