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
Abstract implementation of
WebResourceSet that is based on a directory
on a file system.-
Nested Class Summary
Nested classes/interfaces inherited from interface Lifecycle
Lifecycle.SingleUse -
Field Summary
FieldsFields inherited from class AbstractResourceSet
smFields inherited from interface 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
ConstructorsModifierConstructorDescriptionprotectedAbstractFileResourceSet(String internalPath) Constructs a new abstract file resource set. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract voidChecks the type of the specified file.protected final FileReturn a File for the specified resource name.voidgc()Implementations may cache some information to improve performance.booleanDetermine if thisResourceSetallows the use of symbolic links.Obtain the base URL for this set of resources.protected final FileReturns the file base for this resource set.protected voidSubclasses implement this method to perform any instance initialisation required.booleanObtains the current value of the read-only setting for this set of resources.protected voidlogIgnoredSymlink(String contextPath, String absPath, 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 AbstractResourceSet
checkPath, destroyInternal, getBase, getClassLoaderOnly, getInternalPath, getManifest, getRoot, getStaticOnly, getWebAppMount, isPathMounted, setBase, setClassLoaderOnly, setInternalPath, setManifest, setRoot, setStaticOnly, setWebAppMount, startInternal, stopInternalMethods inherited from class LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stopMethods inherited from interface WebResourceSet
getResource, list, listWebAppPaths, mkdir, write
-
Field Details
-
EMPTY_STRING_ARRAY
An empty string array.
-
-
Constructor Details
-
AbstractFileResourceSet
Constructs a new abstract file resource set.- Parameters:
internalPath- The internal path
-
-
Method Details
-
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
-
logIgnoredSymlink
-
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
Description copied from class:LifecycleBaseSubclasses implement this method to perform any instance initialisation required.- Specified by:
initInternalin classLifecycleBase- Throws:
LifecycleException- If the initialisation fails
-
checkType
Checks the type of the specified file.- Parameters:
file- The file to check- Throws:
IllegalArgumentException- if the file is not of the expected type
-