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
    Constructor | Description
    --- | ---
    `JarResourceSet()` | A no argument constructor is required for this to work with the digester.
    `JarResourceSet​(WebResourceRoot root, java.lang.String webAppMount, java.lang.String base, java.lang.String internalPath)` | Creates a new `WebResourceSet` based on a JAR file.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected WebResource` | `createArchiveResource​(java.util.jar.JarEntry jarEntry, java.lang.String webAppPath, java.util.jar.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,
                                java.lang.String webAppMount,
                                java.lang.String base,
                                java.lang.String internalPath)
                         throws java.lang.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:
        `java.lang.IllegalArgumentException` - if the webAppMount or internalPath is not valid (valid paths must start with '/')

  - ### Method Detail

    - #### createArchiveResource

          protected WebResource createArchiveResource​(java.util.jar.JarEntry jarEntry,
                                                      java.lang.String webAppPath,
                                                      java.util.jar.Manifest manifest)

      Specified by:
        `createArchiveResource` in class `AbstractArchiveResourceSet`