Class EmptyResourceSet
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.webresources.EmptyResourceSet
- All Implemented Interfaces:
Lifecycle,WebResourceSet
A
WebResourceSet implementation that is not backed by a file system and behaves as if it has no resources
available. This is primarily used in embedded mode when the web application is configured entirely programmatically
and does not use any static resources from the file system.-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionprotected voidSubclasses implement this method to perform any instance destruction required.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.booleanShould resources returned by this resource set only be included in any results when the lookup is explicitly looking for class loader resources. i.e. should these resources be excluded from look ups that are explicitly looking for static (non-class loader) resources.getResource(String path) Obtain the object that represents the resource at the given path.booleanShould resources returned by this resource set only be included in any results when the lookup is explicitly looking for static (non-class loader) resources. i.e. should these resources be excluded from look ups that are explicitly looking for class loader resources.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.String[]Obtain the list of the names of all of the files and directories located in the specified directory.listWebAppPaths(String path) Obtain the Set of the web applications pathnames of all of the files and directories located in the specified directory.booleanCreate a new directory at the given path.voidsetAllowLinking(boolean allowLinking) Configure if thisResourceSetallows the use of symbolic links.voidsetClassLoaderOnly(boolean classLoaderOnly) voidsetReadOnly(boolean readOnly) Configures whether or not this set of resources is read-only.voidsetRoot(WebResourceRoot root) voidsetStaticOnly(boolean staticOnly) protected voidSubclasses must ensure that the state is changed toLifecycleState.STARTINGduring the execution of this method.protected voidSubclasses must ensure that the state is changed toLifecycleState.STOPPINGduring the execution of this method.booleanwrite(String path, InputStream is, boolean overwrite) Create a new resource at the requested path using the provided InputStream.Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
-
Constructor Details
-
EmptyResourceSet
-
-
Method Details
-
getResource
Obtain the object that represents the resource at the given path. Note the resource at that path may not exist.This implementation always returns an
EmptyResource.- Specified by:
getResourcein interfaceWebResourceSet- 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
Obtain the list of the names of all of the files and directories located in the specified directory.This implementation always returns an empty array.
- Specified by:
listin interfaceWebResourceSet- 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
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.This implementation always returns an empty set.
- Specified by:
listWebAppPathsin interfaceWebResourceSet- 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
Create a new directory at the given path.This implementation always returns false.
- Specified by:
mkdirin interfaceWebResourceSet- Parameters:
path- The path for the new resource to create relative to the root of the web application. It must start with '/'.- Returns:
trueif the directory was created, otherwisefalse
-
write
Create a new resource at the requested path using the provided InputStream.This implementation always returns false.
- Specified by:
writein interfaceWebResourceSet- 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- Iftrueand the resource already exists it will be overwritten. Iffalseand the resource already exists the write will fail.- Returns:
trueif and only if the new Resource is written
-
setRoot
- Specified by:
setRootin interfaceWebResourceSet
-
getClassLoaderOnly
public boolean getClassLoaderOnly()Description copied from interface:WebResourceSetShould resources returned by this resource set only be included in any results when the lookup is explicitly looking for class loader resources. i.e. should these resources be excluded from look ups that are explicitly looking for static (non-class loader) resources.- Specified by:
getClassLoaderOnlyin interfaceWebResourceSet- Returns:
trueif these resources should only be used for class loader resource lookups, otherwisefalse
-
setClassLoaderOnly
public void setClassLoaderOnly(boolean classLoaderOnly) - Specified by:
setClassLoaderOnlyin interfaceWebResourceSet
-
getStaticOnly
public boolean getStaticOnly()Description copied from interface:WebResourceSetShould resources returned by this resource set only be included in any results when the lookup is explicitly looking for static (non-class loader) resources. i.e. should these resources be excluded from look ups that are explicitly looking for class loader resources.- Specified by:
getStaticOnlyin interfaceWebResourceSet- Returns:
trueif these resources should only be used for static (non-class loader) resource lookups, otherwisefalse
-
setStaticOnly
public void setStaticOnly(boolean staticOnly) - Specified by:
setStaticOnlyin interfaceWebResourceSet
-
getBaseUrl
Obtain 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.This implementation always returns null.
- Specified by:
getBaseUrlin interfaceWebResourceSet- Returns:
- The base URL for this set of resources
-
setReadOnly
public void setReadOnly(boolean readOnly) Configures whether or not this set of resources is read-only.Calls to this method will be ignored as this implementation always read only.
- Specified by:
setReadOnlyin interfaceWebResourceSet- Parameters:
readOnly-trueif this set of resources should be configured to be read-only
-
setAllowLinking
public void setAllowLinking(boolean allowLinking) Configure if thisResourceSetallows the use of symbolic links.Calls to this method will be ignored as this implementation does not allow linking.
- Specified by:
setAllowLinkingin interfaceWebResourceSet- Parameters:
allowLinking-trueif symbolic links are allowed.
-
getAllowLinking
public boolean getAllowLinking()Determine if thisResourceSetallows the use of symbolic links. IfWebResourceSet.setAllowLinking(boolean)has not been called for this instance, the value ofWebResourceRoot.getAllowLinking()is returned.Calls to this method always return
falseas this implementation does not allow linking.- Specified by:
getAllowLinkingin interfaceWebResourceSet- Returns:
trueif symbolic links are allowed
-
isReadOnly
public boolean isReadOnly()Obtains the current value of the read-only setting for this set of resources.This implementation always returns true.
- Specified by:
isReadOnlyin interfaceWebResourceSet- Returns:
trueif this set of resources is configured to be read-only, otherwisefalse
-
gc
public void gc()Description copied from interface:WebResourceSetImplementations may cache some information to improve performance. This method triggers the clean-up of those resources.- Specified by:
gcin interfaceWebResourceSet
-
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
-
startInternal
Description copied from class:LifecycleBaseSubclasses must ensure that the state is changed toLifecycleState.STARTINGduring the execution of this method. Changing state will trigger theLifecycle.START_EVENTevent. If a component fails to start it may either throw aLifecycleExceptionwhich will cause it's parent to fail to start, or it can place itself in the error state in which caseLifecycleBase.stop()will be called on the failed component but the parent component will continue to start normally.- Specified by:
startInternalin classLifecycleBase- Throws:
LifecycleException- Start error occurred
-
stopInternal
Description copied from class:LifecycleBaseSubclasses must ensure that the state is changed toLifecycleState.STOPPINGduring the execution of this method. Changing state will trigger theLifecycle.STOP_EVENTevent.- Specified by:
stopInternalin classLifecycleBase- Throws:
LifecycleException- Stop error occurred
-
destroyInternal
Description copied from class:LifecycleBaseSubclasses implement this method to perform any instance destruction required.- Specified by:
destroyInternalin classLifecycleBase- Throws:
LifecycleException- If the destruction fails
-