Package org.apache.catalina.webresources
Class AbstractFileResourceSet
- java.lang.Object
-
- org.apache.catalina.util.LifecycleBase
-
- org.apache.catalina.webresources.AbstractResourceSet
-
- org.apache.catalina.webresources.AbstractFileResourceSet
-
- All Implemented Interfaces:
Lifecycle,WebResourceSet
- Direct Known Subclasses:
DirResourceSet,FileResourceSet
public abstract class AbstractFileResourceSet extends AbstractResourceSet
Abstract implementation ofWebResourceSetthat is based on a directory on a file system.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String[]EMPTY_STRING_ARRAYAn 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 Modifier Constructor Description protectedAbstractFileResourceSet(java.lang.String internalPath)Constructs a new abstract file resource set.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract voidcheckType(java.io.File file)Checks the type of the specified file.protected java.io.Filefile(java.lang.String name, boolean mustExist)Return a File for the specified resource name.voidgc()Implementations may cache some information to improve performance.booleangetAllowLinking()Determine if thisResourceSetallows the use of symbolic links.java.net.URLgetBaseUrl()Obtain the base URL for this set of resources.protected java.io.FilegetFileBase()Returns the file base for this resource set.protected voidinitInternal()Subclasses implement this method to perform any instance initialisation required.booleanisReadOnly()Obtains the current value of the read-only setting for this set of resources.protected voidlogIgnoredSymlink(java.lang.String contextPath, java.lang.String absPath, java.lang.String canPath)Logs a message about an ignored symlink.voidsetAllowLinking(boolean allowLinking)Configure if thisResourceSetallows the use of symbolic links.voidsetReadOnly(boolean readOnly)Configures whether or not this set of resources is read-only.-
Methods inherited from class org.apache.catalina.webresources.AbstractResourceSet
checkPath, destroyInternal, getBase, getClassLoaderOnly, getInternalPath, getManifest, getRoot, getStaticOnly, getWebAppMount, isPathMounted, 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
-
Methods inherited from interface org.apache.catalina.WebResourceSet
getResource, list, listWebAppPaths, mkdir, write
-
-
-
-
Method Detail
-
getFileBase
protected final java.io.File getFileBase()
Returns the file base for this resource set.- Returns:
- the file base
-
setReadOnly
public void setReadOnly(boolean readOnly)
Description copied from interface:WebResourceSetConfigures whether or not this set of resources is read-only.- Parameters:
readOnly-trueif this set of resources should be configured to be read-only
-
isReadOnly
public boolean isReadOnly()
Description copied from interface:WebResourceSetObtains the current value of the read-only setting for this set of resources.- Returns:
trueif this set of resources is configured to be read-only, otherwisefalse
-
setAllowLinking
public void setAllowLinking(boolean allowLinking)
Description copied from interface:WebResourceSetConfigure if thisResourceSetallows the use of symbolic links.- Parameters:
allowLinking-trueif symbolic links are allowed.
-
getAllowLinking
public boolean getAllowLinking()
Description copied from interface:WebResourceSetDetermine if thisResourceSetallows the use of symbolic links. IfWebResourceSet.setAllowLinking(boolean)has not been called for this instance, the value ofWebResourceRoot.getAllowLinking()is returned.- Returns:
trueif symbolic links are allowed
-
file
protected final java.io.File file(java.lang.String name, boolean mustExist)Return a File for the specified resource name.- Parameters:
name- Name of the resourcemustExist- Whether the file must exist- Returns:
- the file for the specified resource
-
logIgnoredSymlink
protected void logIgnoredSymlink(java.lang.String contextPath, java.lang.String absPath, java.lang.String canPath)Logs a message about an ignored symlink.- Parameters:
contextPath- The context pathabsPath- The absolute pathcanPath- The canonical path
-
getBaseUrl
public java.net.URL getBaseUrl()
Description copied from interface:WebResourceSetObtain the base URL for this set of resources. One of the uses of this is to grant read permissions to the resources when running under a security manager.- Returns:
- The base URL for this set of resources
-
gc
public void gc()
Implementations may cache some information to improve performance. This method triggers the clean-up of those resources.This is a NO-OP by default for File based resource sets.
-
initInternal
protected void initInternal() throws LifecycleExceptionDescription copied from class:LifecycleBaseSubclasses implement this method to perform any instance initialisation required.- Specified by:
initInternalin classLifecycleBase- Throws:
LifecycleException- If the initialisation fails
-
checkType
protected abstract void checkType(java.io.File file)
Checks the type of the specified file.- Parameters:
file- The file to check- Throws:
java.lang.IllegalArgumentException- if the file is not of the expected type
-
-