public abstract class AbstractArchiveResourceSet extends AbstractResourceSet
Lifecycle.SingleUse
Modifier and Type | Field and Description |
---|---|
protected HashMap<String,JarEntry> |
archiveEntries |
protected Object |
archiveLock |
sm
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 and Description |
---|
AbstractArchiveResourceSet() |
Modifier and Type | Method and Description |
---|---|
protected void |
closeJarFile() |
protected abstract WebResource |
createArchiveResource(JarEntry jarEntry,
String webAppPath,
Manifest manifest) |
void |
gc()
Implementations may cache some information to improve performance.
|
protected abstract HashMap<String,JarEntry> |
getArchiveEntries(boolean single)
Obtain the map of entries in the archive.
|
protected abstract JarEntry |
getArchiveEntry(String pathInArchive)
Obtain a single entry from the archive.
|
URL |
getBaseUrl()
Obtain the base URL for this set of resources.
|
protected String |
getBaseUrlString() |
WebResource |
getResource(String path)
Obtain the object that represents the resource at the given path.
|
boolean |
isReadOnly()
Obtains the current value of the read-only setting for this set of
resources.
|
String[] |
list(String path)
Obtain the list of the names of all of the files and directories located
in the specified directory.
|
Set<String> |
listWebAppPaths(String path)
Obtain the Set of the web applications pathnames of all of the files and
directories located in the specified directory.
|
boolean |
mkdir(String path)
Create a new directory at the given path.
|
protected JarFile |
openJarFile() |
protected void |
setBaseUrl(URL baseUrl) |
void |
setReadOnly(boolean readOnly)
Configures whether or not this set of resources is read-only.
|
boolean |
write(String path,
InputStream is,
boolean overwrite)
Create a new resource at the requested path using the provided
InputStream.
|
checkPath, destroyInternal, getBase, getClassLoaderOnly, getInternalPath, getManifest, getRoot, getStaticOnly, getWebAppMount, setBase, setClassLoaderOnly, setInternalPath, setManifest, setRoot, setStaticOnly, setWebAppMount, startInternal, stopInternal
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, initInternal, removeLifecycleListener, setState, setState, start, stop
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
protected final Object archiveLock
protected final void setBaseUrl(URL baseUrl)
public final URL getBaseUrl()
WebResourceSet
protected final String getBaseUrlString()
public final String[] list(String path)
WebResourceSet
path
- The path for the resource of interest relative to the root
of the web application. It must start with '/'.public final Set<String> listWebAppPaths(String path)
WebResourceSet
path
- The path for the resource of interest relative to the root
of the web application. It must start with '/'.protected abstract HashMap<String,JarEntry> getArchiveEntries(boolean single)
getArchiveEntry(String)
should be used.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.getArchiveEntry(String)
should be used.protected abstract JarEntry getArchiveEntry(String pathInArchive)
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.pathInArchive
- The path in the archive of the entry requiredpublic final boolean mkdir(String path)
WebResourceSet
path
- The path for the new resource to create relative to the root
of the web application. It must start with '/'.true
if the directory was created, otherwise
false
public final boolean write(String path, InputStream is, boolean overwrite)
WebResourceSet
path
- The path to be used for the new Resource. It is relative
to the root of the web application and must start with
'/'.is
- The InputStream that will provide the content for the
new Resource.overwrite
- If true
and the resource already exists it
will be overwritten. If false
and the
resource already exists the write will fail.true
if and only if the new Resource is writtenpublic final WebResource getResource(String path)
WebResourceSet
path
- The path for the resource of interest relative to the root
of the web application. It must start with '/'.protected abstract WebResource createArchiveResource(JarEntry jarEntry, String webAppPath, Manifest manifest)
public final boolean isReadOnly()
WebResourceSet
true
if this set of resources is configured to be
read-only, otherwise false
public void setReadOnly(boolean readOnly)
WebResourceSet
readOnly
- true
if this set of resources should be
configured to be read-onlyprotected JarFile openJarFile() throws IOException
IOException
protected void closeJarFile()
public void gc()
WebResourceSet
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.