Package org.apache.catalina.webresources
Class DirResourceSet
- java.lang.Object
-
- org.apache.catalina.util.LifecycleBase
-
- org.apache.catalina.webresources.AbstractResourceSet
-
- org.apache.catalina.webresources.AbstractFileResourceSet
-
- org.apache.catalina.webresources.DirResourceSet
-
- All Implemented Interfaces:
Lifecycle
,WebResourceSet
public class DirResourceSet extends AbstractFileResourceSet
Represents aWebResourceSet
based on a directory.
-
-
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.AbstractFileResourceSet
EMPTY_STRING_ARRAY
-
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 DirResourceSet()
A no argument constructor is required for this to work with the digester.DirResourceSet(WebResourceRoot root, java.lang.String webAppMount, java.lang.String base, java.lang.String internalPath)
Creates a newWebResourceSet
based on a directory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
checkType(java.io.File file)
WebResource
getResource(java.lang.String path)
Obtain the object that represents the resource at the given path.protected void
initInternal()
Sub-classes implement this method to perform any instance initialisation required.java.lang.String[]
list(java.lang.String path)
Obtain the list of the names of all of the files and directories located in the specified directory.java.util.Set<java.lang.String>
listWebAppPaths(java.lang.String path)
Obtain the Set of the web applications pathnames of all of the files and directories located in the specified directory.boolean
mkdir(java.lang.String path)
Create a new directory at the given path.boolean
write(java.lang.String path, java.io.InputStream is, boolean overwrite)
Create a new resource at the requested path using the provided InputStream.-
Methods inherited from class org.apache.catalina.webresources.AbstractFileResourceSet
file, gc, getBaseUrl, getFileBase, isReadOnly, logIgnoredSymlink, setReadOnly
-
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
-
DirResourceSet
public DirResourceSet()
A no argument constructor is required for this to work with the digester.
-
DirResourceSet
public DirResourceSet(WebResourceRoot root, java.lang.String webAppMount, java.lang.String base, java.lang.String internalPath)
Creates a newWebResourceSet
based on a directory.- Parameters:
root
- TheWebResourceRoot
this newWebResourceSet
will be added to.webAppMount
- The path within the web application at which thisWebResourceSet
will be mounted. For example, to add a directory of JARs to a web application, the directory would be mounted at "/WEB-INF/lib/"base
- The absolute path to the directory on the file system from which the resources will be served.internalPath
- The path within this newWebResourceSet
where resources will be served from.
-
-
Method Detail
-
getResource
public WebResource getResource(java.lang.String path)
Description copied from interface:WebResourceSet
Obtain the object that represents the resource at the given path. Note the resource at that path may not exist.- Parameters:
path
- The path for the resource of interest relative to the root of the web application. It must start with '/'.- Returns:
- The object that represents the resource at the given path
-
list
public java.lang.String[] list(java.lang.String path)
Description copied from interface:WebResourceSet
Obtain the list of the names of all of the files and directories located in the specified directory.- Parameters:
path
- The path for the resource of interest relative to the root of the web application. It must start with '/'.- Returns:
- The list of resources. If path does not refer to a directory then a zero length array will be returned.
-
listWebAppPaths
public java.util.Set<java.lang.String> listWebAppPaths(java.lang.String path)
Description copied from interface:WebResourceSet
Obtain the Set of the web applications pathnames of all of the files and directories located in the specified directory. Paths representing directories will end with a "/" character.- Parameters:
path
- The path for the resource of interest relative to the root of the web application. It must start with '/'.- Returns:
- The Set of resources. If path does not refer to a directory then an empty set will be returned.
-
mkdir
public boolean mkdir(java.lang.String path)
Description copied from interface:WebResourceSet
Create a new directory at the given path.- Parameters:
path
- The path for the new resource to create relative to the root of the web application. It must start with '/'.- Returns:
true
if the directory was created, otherwisefalse
-
write
public boolean write(java.lang.String path, java.io.InputStream is, boolean overwrite)
Description copied from interface:WebResourceSet
Create a new resource at the requested path using the provided InputStream.- Parameters:
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
- Iftrue
and the resource already exists it will be overwritten. Iffalse
and the resource already exists the write will fail.- Returns:
true
if and only if the new Resource is written
-
checkType
protected void checkType(java.io.File file)
- Specified by:
checkType
in classAbstractFileResourceSet
-
initInternal
protected void initInternal() throws LifecycleException
Description copied from class:LifecycleBase
Sub-classes implement this method to perform any instance initialisation required.- Overrides:
initInternal
in classAbstractFileResourceSet
- Throws:
LifecycleException
- If the initialisation fails
-
-