Package org.apache.catalina.webresources
Class JarWarResourceSet
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.webresources.AbstractResourceSet
org.apache.catalina.webresources.AbstractArchiveResourceSet
org.apache.catalina.webresources.JarWarResourceSet
- All Implemented Interfaces:
- Lifecycle,- WebResourceSet
Represents a 
WebResourceSet based on a JAR file that is nested inside a packed WAR file.
 This is only intended for internal use within Tomcat and therefore cannot be created via configuration.- 
Nested Class SummaryNested classes/interfaces inherited from interface org.apache.catalina.LifecycleLifecycle.SingleUse
- 
Field SummaryFields inherited from class org.apache.catalina.webresources.AbstractArchiveResourceSetarchiveEntries, archiveLockFields inherited from class org.apache.catalina.webresources.AbstractResourceSetsmFields inherited from interface org.apache.catalina.LifecycleAFTER_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 SummaryConstructorsConstructorDescriptionJarWarResourceSet(WebResourceRoot root, String webAppMount, String base, String archivePath, String internalPath) Creates a newWebResourceSetbased on a JAR file that is nested inside a WAR.
- 
Method SummaryModifier and TypeMethodDescriptionprotected WebResourcecreateArchiveResource(JarEntry jarEntry, String webAppPath, Manifest manifest) getArchiveEntries(boolean single) Obtain the map of entries in the archive.protected JarEntrygetArchiveEntry(String pathInArchive) Obtain a single entry from the archive.protected voidSub-classes implement this method to perform any instance initialisation required.protected booleanprotected voidMethods inherited from class org.apache.catalina.webresources.AbstractArchiveResourceSetcloseJarFile, gc, getBaseUrl, getBaseUrlString, getResource, isReadOnly, list, listWebAppPaths, mkdir, openJarFile, setBaseUrl, setReadOnly, writeMethods inherited from class org.apache.catalina.webresources.AbstractResourceSetcheckPath, destroyInternal, getBase, getClassLoaderOnly, getInternalPath, getManifest, getRoot, getStaticOnly, getWebAppMount, setBase, setClassLoaderOnly, setInternalPath, setManifest, setRoot, setStaticOnly, setWebAppMount, startInternal, stopInternalMethods inherited from class org.apache.catalina.util.LifecycleBaseaddLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.LifecycleaddLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
- 
Constructor Details- 
JarWarResourceSetpublic JarWarResourceSet(WebResourceRoot root, String webAppMount, String base, String archivePath, String internalPath) throws IllegalArgumentException Creates a newWebResourceSetbased on a JAR file that is nested inside a WAR.- Parameters:
- root- The- WebResourceRootthis new- WebResourceSetwill be added to.
- webAppMount- The path within the web application at which this- WebResourceSetwill be mounted.
- base- The absolute path to the WAR file on the file system in which the JAR is located.
- archivePath- The path within the WAR file where the JAR file is located.
- internalPath- The path within this new- WebResourceSetwhere 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 Details- 
createArchiveResourceprotected WebResource createArchiveResource(JarEntry jarEntry, String webAppPath, Manifest manifest) - Specified by:
- createArchiveResourcein class- AbstractArchiveResourceSet
 
- 
getArchiveEntriesObtain the map of entries in the archive. May return null in which caseAbstractArchiveResourceSet.getArchiveEntry(String)should be used.JarWar can't optimise for a single resource so the Map is always returned. - Specified by:
- getArchiveEntriesin class- AbstractArchiveResourceSet
- Parameters:
- single- Is this request being make to support a single lookup? If false, a map will always be returned. If true, implementations may use this as a hint in determining the optimum way to respond.
- Returns:
- The archives entries mapped to their names or null if AbstractArchiveResourceSet.getArchiveEntry(String)should be used.
 
- 
processArchivesEntriesForMultiReleaseprotected void processArchivesEntriesForMultiRelease()
- 
getArchiveEntryObtain a single entry from the archive. For performance reasons,AbstractArchiveResourceSet.getArchiveEntries(boolean)should always be called first and the archive entry looked up in the map if one is returned. Only if that call returns null should this method be used.Should never be called since getArchiveEntries(boolean)always returns a Map.- Specified by:
- getArchiveEntryin class- AbstractArchiveResourceSet
- Parameters:
- pathInArchive- The path in the archive of the entry required
- Returns:
- The specified archive entry or null if it does not exist
 
- 
isMultiReleaseprotected boolean isMultiRelease()- Specified by:
- isMultiReleasein class- AbstractArchiveResourceSet
 
- 
initInternalDescription copied from class:LifecycleBaseSub-classes implement this method to perform any instance initialisation required.- Specified by:
- initInternalin class- LifecycleBase
- Throws:
- LifecycleException- If the initialisation fails
 
 
-