org.apache.catalina.core

## Class StandardContext

- java.lang.Object
- - org.apache.catalina.util.LifecycleBase
  - - org.apache.catalina.util.LifecycleMBeanBase
    - - org.apache.catalina.core.ContainerBase
      - - org.apache.catalina.core.StandardContext

All Implemented Interfaces:
  MBeanRegistration, NotificationBroadcaster, NotificationEmitter, Container, Context, Lifecycle

Direct Known Subclasses:
  ReplicatedContext

    public class StandardContext
    extends ContainerBase
    implements Context, NotificationEmitter

Standard implementation of the Context interface. Each child container must be a Wrapper implementation to process the requests directed to a particular servlet.

Author:
  Craig R. McClanahan, Remy Maucherat

### Nested Class Summary

### Nested classes/interfaces inherited from class org.apache.catalina.core.ContainerBase

`ContainerBase.ContainerBackgroundProcessor, ContainerBase.PrivilegedAddChild`

### Field Summary

Fields
`protected boolean` `allowCasualMultipartParsing` Allow multipart/form-data requests to be parsed even when the target servlet doesn't specify @MultipartConfig or have a <multipart-config> element.
`protected boolean` `allowLinking` Allow linking.
`protected int` `cacheMaxSize` Cache max size in KB.
`protected int` `cacheObjectMaxSize` Cache object max size in KB.
`protected int` `cacheTTL` Cache TTL in ms.
`protected ApplicationContext` `context` The ServletContext implementation associated with this Context.
`protected static URLEncoder` `urlEncoder` Array containing the safe characters set.

### Fields inherited from class org.apache.catalina.core.ContainerBase

`accessLog, backgroundProcessorDelay, children, cluster, listeners, loader, logger, logName, manager, name, parent, parentClassLoader, pipeline, resources, sm, startChildren, startStopExecutor, support`

### Fields inherited from class org.apache.catalina.util.LifecycleMBeanBase

`mserver`

### Fields inherited from interface org.apache.catalina.Context

`ADD_WELCOME_FILE_EVENT, CHANGE_SESSION_ID_EVENT, CLEAR_WELCOME_FILES_EVENT, RELOAD_EVENT, REMOVE_WELCOME_FILE_EVENT`

### Fields inherited from interface org.apache.catalina.Container

`ADD_CHILD_EVENT, ADD_MAPPER_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_MAPPER_EVENT, REMOVE_VALVE_EVENT`

### 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 and Description
`StandardContext()` Create a new StandardContext component with the default basic Valve.

### Method Summary

Methods
`void` `addApplicationEventListener(Object listener)` Add a listener to the end of the list of initialized application event listeners.
`void` `addApplicationLifecycleListener(Object listener)` Add a listener to the end of the list of initialized application lifecycle listeners.
`void` `addApplicationListener(ApplicationListener listener)` Add a new Listener class name to the set of Listeners configured for this application.
`void` `addApplicationListener(String listener)` Add a new Listener class name to the set of Listeners configured for this application.
`void` `addApplicationParameter(ApplicationParameter parameter)` Add a new application parameter for this application.
`void` `addChild(Container child)` Add a child Container, only if the proposed child is an implementation of Wrapper.
`void` `addConstraint(SecurityConstraint constraint)` Add a security constraint to the set for this web application.
`void` `addErrorPage(ErrorPage errorPage)` Add an error page for the specified error or Java exception.
`void` `addFilterDef(FilterDef filterDef)` Add a filter definition to this Context.
`void` `addFilterMap(FilterMap filterMap)` Add a filter mapping to this Context at the end of the current set of filter mappings.
`void` `addFilterMapBefore(FilterMap filterMap)` Add a filter mapping to this Context before the mappings defined in the deployment descriptor but after any other mappings added via this method.
`void` `addInstanceListener(String listener)` Add the classname of an InstanceListener to be added to each Wrapper appended to this Context.
`void` `addLocaleEncodingMappingParameter(String locale, String encoding)` Add a Locale Encoding Mapping (see Sec 5.4 of Servlet spec 2.4)
`void` `addMessageDestination(MessageDestination md)` Add a message destination for this web application.
`void` `addMessageDestinationRef(MessageDestinationRef mdr)` Add a message destination reference for this web application.
`void` `addMimeMapping(String extension, String mimeType)` Add a new MIME mapping, replacing any existing mapping for the specified extension.
`void` `addNotificationListener(NotificationListener listener, NotificationFilter filter, Object object)`
`void` `addParameter(String name, String value)` Add a new context initialization parameter.
`void` `addPostConstructMethod(String clazz, String method)` Add a post construct method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.
`void` `addPreDestroyMethod(String clazz, String method)` Add a pre destroy method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.
`void` `addResourceJarUrl(URL url)` Add a URL for a JAR that contains static resources in a META-INF/resources directory that should be included in the static resources for this context.
`void` `addResourcesDirContext(DirContext altDirContext)` Add a URL for a JAR that contains static resources in a META-INF/resources directory that should be included in the static resources for this context.
`void` `addRoleMapping(String role, String link)` Add a security role reference for this web application.
`void` `addSecurityRole(String role)` Add a new security role for this web application.
`void` `addServletContainerInitializer(ServletContainerInitializer sci, Set<Class<?>> classes)` Add a ServletContainerInitializer instance to this web application.
`void` `addServletMapping(String pattern, String name)` Add a new servlet mapping, replacing any existing mapping for the specified pattern.
`void` `addServletMapping(String pattern, String name, boolean jspWildCard)` Add a new servlet mapping, replacing any existing mapping for the specified pattern.
`Set<String>` `addServletSecurity(ApplicationServletRegistration registration, ServletSecurityElement servletSecurityElement)` Notification that servlet security has been dynamically set in a `ServletRegistration.Dynamic`
`void` `addWatchedResource(String name)` Add a new watched resource to the set recognized by this Context.
`void` `addWelcomeFile(String name)` Add a new welcome file to the set recognized by this Context.
`void` `addWrapperLifecycle(String listener)` Add the classname of a LifecycleListener to be added to each Wrapper appended to this Context.
`void` `addWrapperListener(String listener)` Add the classname of a ContainerListener to be added to each Wrapper appended to this Context.
`protected String` `adjustURLPattern(String urlPattern)` Adjust the URL pattern to begin with a leading slash, if appropriate (i.e. we are running a servlet 2.2 application).
`protected ClassLoader` `bindThread()` Bind current thread, both for CL purposes and for JNDI ENC support during : startup, shutdown and realoading of the context.
`Wrapper` `createWrapper()` Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation.
`protected void` `destroyInternal()` Destroy needs to clean up the context completely.
`ServletRegistration.Dynamic` `dynamicServletAdded(Wrapper wrapper)` hook to register that we need to scan for security annotations.
`void` `dynamicServletCreated(Servlet servlet)` hook to track which registrations need annotation scanning
`protected File` `engineBase()` Return a File object representing the base directory for the entire servlet container (i.e. the Engine container if present).
`boolean` `filterStart()` Configure and initialize the set of filters for this Context.
`boolean` `filterStop()` Finalize and release the set of filters for this Context.
`String[]` `findApplicationListeners()` Return the set of application listener class names configured for this application.
`ApplicationParameter[]` `findApplicationParameters()` Return the set of application parameters for this application.
`SecurityConstraint[]` `findConstraints()` Return the security constraints for this web application.
`ErrorPage` `findErrorPage(int errorCode)` Return the error page entry for the specified HTTP error code, if any; otherwise return `null`.
`ErrorPage` `findErrorPage(String exceptionType)` Return the error page entry for the specified Java exception type, if any; otherwise return `null`.
`ErrorPage[]` `findErrorPages()` Return the set of defined error pages for all specified error codes and exception types.
`FilterConfig` `findFilterConfig(String name)` Find and return the initialized `FilterConfig` for the specified filter name, if any; otherwise return `null`.
`FilterDef` `findFilterDef(String filterName)` Return the filter definition for the specified filter name, if any; otherwise return `null`.
`FilterDef[]` `findFilterDefs()` Return the set of defined filters for this Context.
`FilterMap[]` `findFilterMaps()` Return the set of filter mappings for this Context.
`String[]` `findInstanceListeners()` Return the set of InstanceListener classes that will be added to newly created Wrappers automatically.
`Context` `findMappingObject()` Deprecated.
`MessageDestination` `findMessageDestination(String name)` Return the message destination with the specified name, if any; otherwise, return `null`.
`MessageDestinationRef` `findMessageDestinationRef(String name)` Return the message destination ref with the specified name, if any; otherwise, return `null`.
`MessageDestinationRef[]` `findMessageDestinationRefs()` Return the set of defined message destination refs for this web application.
`MessageDestination[]` `findMessageDestinations()` Return the set of defined message destinations for this web application.
`String` `findMimeMapping(String extension)` Return the MIME type to which the specified extension is mapped, if any; otherwise return `null`.
`String[]` `findMimeMappings()` Return the extensions for which MIME mappings are defined.
`String` `findParameter(String name)` Return the value for the specified context initialization parameter name, if any; otherwise return `null`.
`String[]` `findParameters()` Return the names of all defined context initialization parameters for this Context.
`String` `findPostConstructMethod(String clazz)` Returns the method name that is specified as post construct method for the given class, if it exists; otherwise `NULL` will be returned.
`Map<String,String>` `findPostConstructMethods()` Returns a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names.
`String` `findPreDestroyMethod(String clazz)` Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwise `NULL` will be returned.
`Map<String,String>` `findPreDestroyMethods()` Returns a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names.
`String` `findRoleMapping(String role)` For the given security role (as used by an application), return the corresponding role name (as defined by the underlying Realm) if there is one.
`boolean` `findSecurityRole(String role)` Return `true` if the specified security role is defined for this application; otherwise return `false`.
`String[]` `findSecurityRoles()` Return the security roles defined for this application.
`String` `findServletMapping(String pattern)` Return the servlet name mapped by the specified pattern (if any); otherwise return `null`.
`String[]` `findServletMappings()` Return the patterns of all defined servlet mappings for this Context.
`DirContext` `findStaticResources()` Deprecated.
`String` `findStatusPage(int status)` Return the context-relative URI of the error page for the specified HTTP status code, if any; otherwise return `null`.
`int[]` `findStatusPages()` Return the set of HTTP status codes for which error pages have been specified.
`String[]` `findWatchedResources()` Return the set of watched resources for this Context.
`boolean` `findWelcomeFile(String name)` Return `true` if the specified welcome file is defined for this Context; otherwise return `false`.
`String[]` `findWelcomeFiles()` Return the set of welcome files defined for this Context.
`String[]` `findWrapperLifecycles()` Return the set of LifecycleListener classes that will be added to newly created Wrappers automatically.
`String[]` `findWrapperListeners()` Return the set of ContainerListener classes that will be added to newly created Wrappers automatically.
`boolean` `fireRequestDestroyEvent(ServletRequest request)` Notify all `ServletRequestListener`s that a request has ended.
`boolean` `fireRequestInitEvent(ServletRequest request)` Notify all `ServletRequestListener`s that a request has started.
`boolean` `getAddWebinfClassesResources()`
`String` `getAliases()` Return the list of resource aliases.
`boolean` `getAllowCasualMultipartParsing()` Returns `true` if requests mapped to servlets without "multipart config" to parse multipart/form-data requests anyway.
`String` `getAltDDName()` Return the alternate Deployment Descriptor name.
`boolean` `getAntiJARLocking()` Return the antiJARLocking flag for this Context.
`boolean` `getAntiResourceLocking()` Return the antiResourceLocking flag for this Context.
`protected String` `getAppBase()` Get app base.
`Object[]` `getApplicationEventListeners()` Return the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application.
`Object[]` `getApplicationLifecycleListeners()` Return the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.
`Authenticator` `getAuthenticator()` Obtain the `Authenticator` that is used by this context or `null` if none is used.
`boolean` `getAvailable()` Return the application available flag for this Context.
`String` `getBaseName()` Return the base name to use for WARs, directories or context.xml files for this context.
`protected String` `getBasePath()` Get base path.
`int` `getCacheMaxSize()` Return the maximum size of the cache in KB.
`int` `getCacheObjectMaxSize()` Return the maximum size of objects to be cached in KB.
`int` `getCacheTTL()` Get cache TTL.
`String` `getCharset(Locale locale)` Obtain the character set name to use with the given Locale.
`CharsetMapper` `getCharsetMapper()` Return the Locale to character set mapper for this Context.
`String` `getCharsetMapperClass()` Return the Locale to character set mapper class for this Context.
`boolean` `getClearReferencesHttpClientKeepAliveThread()` Return the clearReferencesHttpClientKeepAliveThread flag for this Context.
`boolean` `getClearReferencesStatic()` Return the clearReferencesStatic flag for this Context.
`boolean` `getClearReferencesStopThreads()` Return the clearReferencesStopThreads flag for this Context.
`boolean` `getClearReferencesStopTimerThreads()` Return the clearReferencesStopTimerThreads flag for this Context.
`String` `getCompilerClasspath()` Deprecated.
`URL` `getConfigFile()` Return the URL of the XML descriptor for this context.
`boolean` `getConfigured()` Return the "correctly configured" flag for this Context.
`String` `getContainerSciFilter()` Obtains the regular expression that specifies which container provided SCIs should be filtered out and not used for this context.
`boolean` `getCookies()` Return the "use cookies for session ids" flag.
`boolean` `getCopyXML()`
`boolean` `getCrossContext()` Return the "allow crossing servlet contexts" flag.
`String` `getDefaultContextXml()`
`String` `getDefaultWebXml()`
`boolean` `getDelegate()` Return the "follow standard delegation model" flag used to configure our ClassLoader.
`String` `getDeploymentDescriptor()` JSR77 deploymentDescriptor attribute
`String` `getDisplayName()` Return the display name of this web application.
`boolean` `getDistributable()` Return the distributable flag for this web application.
`String` `getDocBase()` Return the document root for this Context.
`int` `getEffectiveMajorVersion()` Return the effective major version of the Servlet spec used by this context.
`int` `getEffectiveMinorVersion()` Return the effective minor version of the Servlet spec used by this context.
`String` `getEncodedPath()` Return the URL encoded context path, using UTF-8.
`int` `getErrorCount()` Gets the cumulative error count of all servlets in this StandardContext.
`boolean` `getFireRequestListenersOnForwards()` Determine whether or not requests listeners will be fired on forwards for this Context.
`String` `getHostname()` Deprecated. Unused. Will be removed in Tomcat 8.0.x.
`boolean` `getIgnoreAnnotations()` Return the boolean on the annotations parsing.
`String` `getInfo()` Return descriptive information about this Container implementation and the corresponding version number, in the format `<description>/<version>`.
`InstanceManager` `getInstanceManager()` Get the instance manager associated with this context.
`String` `getJ2EEApplication()`
`String` `getJ2EEServer()`
`JarScanner` `getJarScanner()` Get the Jar Scanner to be used to scan for JAR resources for this context.
`String[]` `getJavaVMs()`
`boolean` `getJndiExceptionOnFailedWrite()` Returns whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.
`JspConfigDescriptor` `getJspConfigDescriptor()` Obtain the JSP configuration for this context.
`boolean` `getLogEffectiveWebXml()` Should the effective web.xml for this context be logged on context start?
`LoginConfig` `getLoginConfig()` Return the login configuration descriptor for this web application.
`Mapper` `getMapper()` Get the mapper associated with the context.
`long` `getMaxTime()` Gets the maximum processing time of all servlets in this StandardContext.
`long` `getMinTime()` Gets the minimum processing time of all servlets in this StandardContext.
`NamingContextListener` `getNamingContextListener()` Naming context listener accessor.
`NamingResources` `getNamingResources()` Return the naming resources associated with this web application.
`MBeanNotificationInfo[]` `getNotificationInfo()`
`protected String` `getObjectNameKeyProperties()` Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.
`String` `getOriginalDocBase()` Return the original document root for this Context.
`boolean` `getOverride()` Return the default context override flag for this web application.
`ClassLoader` `getParentClassLoader()` Return the parent class loader (if any) for this web application.
`String` `getPath()` Return the context path for this Context.
`boolean` `getPaused()` Return the request processing paused flag for this Context.
`boolean` `getPreemptiveAuthentication()` Determines if a user presents authentication credentials, will the context will process them when the request is for a non-protected resource.
`boolean` `getPrivileged()` Return the privileged flag for this web application.
`long` `getProcessingTime()` Gets the cumulative processing times of all servlets in this StandardContext.
`boolean` `getProcessTlds()` Returns the processTlds attribute value.
`String` `getPublicId()` Return the public identifier of the deployment descriptor DTD that is currently being parsed.
`String` `getRealPath(String path)` Return the real path for a given virtual path, if possible; otherwise return `null`.
`boolean` `getReloadable()` Return the reloadable flag for this web application.
`boolean` `getRenewThreadsWhenStoppingContext()`
`int` `getRequestCount()` Gets the cumulative request count of all servlets in this StandardContext.
`String` `getResourceOnlyServlets()` Obtains the list of Servlets that expect a resource to be present.
`boolean` `getSendRedirectBody()` Determines if the context is configured to include a response body as part of a redirect response.
`String` `getServer()`
`ServletContext` `getServletContext()` Return the servlet context for which this Context is a facade.
`String[]` `getServlets()` JSR77 servlets attribute
`String` `getSessionCookieDomain()` Gets the domain to use for session cookies.
`String` `getSessionCookieName()` Gets the name to use for session cookies.
`String` `getSessionCookiePath()` Gets the path to use for session cookies.
`boolean` `getSessionCookiePathUsesTrailingSlash()` Is a / added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.
`int` `getSessionTimeout()` Return the default session timeout (in minutes) for this web application.
`long` `getStartTime()` Gets the time this context was started.
`long` `getStartupTime()` Gets the time (in milliseconds) it took to start this context.
`DirContext` `getStaticResources()` Deprecated.
`boolean` `getSwallowAbortedUploads()` Returns `true` if remaining request data will be read (swallowed) even the request violates a data size constraint.
`boolean` `getSwallowOutput()` Return the value of the swallowOutput flag.
`boolean` `getTldNamespaceAware()` *.tld files are always parsed using a namespace aware parser.
`long` `getTldScanTime()`
`boolean` `getTldValidation()` Will the parsing of *.tld files for this Context be performed by a validating parser?
`long` `getUnloadDelay()` Return the value of the unloadDelay flag.
`boolean` `getUnpackWAR()` Unpack WAR flag accessor.
`boolean` `getUseHttpOnly()` Gets the value of the use HttpOnly cookies for session cookies flag.
`String` `getWebappVersion()` Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment.
`String[]` `getWelcomeFiles()` Return the naming resources associated with this web application.
`String` `getWorkDir()` Return the work directory for this Context.
`String` `getWorkPath()` Get the absolute path to the work dir.
`String` `getWrapperClass()` Return the Java class name of the Wrapper implementation used for servlets registered in this Context.
`boolean` `getXmlBlockExternal()` Will the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context block the use of external entities?
`boolean` `getXmlNamespaceAware()` Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a namespace aware parser?
`boolean` `getXmlValidation()` Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a validating parser?
`protected void` `initInternal()` Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.
`boolean` `isAllowLinking()` Is linking allowed.
`boolean` `isCachingAllowed()` Is caching allowed ?
`boolean` `isEventProvider()` Deprecated.
`boolean` `isFilesystemBased()` Deprecated.
`boolean` `isReplaceWelcomeFiles()` Deprecated.
`boolean` `isResourceOnlyServlet(String servletName)` Checks the named Servlet to see if it expects a resource to be present.
`boolean` `isSaveConfig()` Deprecated.
`boolean` `isServlet22()` Are we processing a version 2.2 deployment descriptor?
`boolean` `isStateManageable()` Support for "stateManageable" JSR77
`boolean` `isStatisticsProvider()` Deprecated.
`boolean` `isUseNaming()` Returns true if the internal naming support is used.
`boolean` `listenerStart()` Configure the set of instantiated application event listeners for this Context.
`boolean` `listenerStop()` Send an application stop event to all interested listeners.
`void` `loadOnStartup(Container[] children)` Load and initialize all servlets marked "load on startup" in the web application deployment descriptor.
`void` `reload()` Reload this web application, if reloading is supported.
`void` `removeApplicationListener(String listener)` Remove the specified application listener class from the set of listeners for this application.
`void` `removeApplicationParameter(String name)` Remove the application parameter with the specified name from the set for this application.
`void` `removeChild(Container child)` Add a child Container, only if the proposed child is an implementation of Wrapper.
`void` `removeConstraint(SecurityConstraint constraint)` Remove the specified security constraint from this web application.
`void` `removeErrorPage(ErrorPage errorPage)` Remove the error page for the specified error code or Java language exception, if it exists; otherwise, no action is taken.
`void` `removeFilterDef(FilterDef filterDef)` Remove the specified filter definition from this Context, if it exists; otherwise, no action is taken.
`void` `removeFilterMap(FilterMap filterMap)` Remove a filter mapping from this Context.
`void` `removeInstanceListener(String listener)` Remove a class name from the set of InstanceListener classes that will be added to newly created Wrappers.
`void` `removeMessageDestination(String name)` Remove any message destination with the specified name.
`void` `removeMessageDestinationRef(String name)` Remove any message destination ref with the specified name.
`void` `removeMimeMapping(String extension)` Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.
`void` `removeNotificationListener(NotificationListener listener)` Remove a JMX-NotificationListener
`void` `removeNotificationListener(NotificationListener listener, NotificationFilter filter, Object object)`
`void` `removeParameter(String name)` Remove the context initialization parameter with the specified name, if it exists; otherwise, no action is taken.
`void` `removePostConstructMethod(String clazz)` Removes the post construct method definition for the given class, if it exists; otherwise, no action is taken.
`void` `removePreDestroyMethod(String clazz)` Removes the pre destroy method definition for the given class, if it exists; otherwise, no action is taken.
`void` `removeRoleMapping(String role)` Remove any security role reference for the specified name
`void` `removeSecurityRole(String role)` Remove any security role with the specified name.
`void` `removeServletMapping(String pattern)` Remove any servlet mapping for the specified pattern, if it exists; otherwise, no action is taken.
`void` `removeWatchedResource(String name)` Remove the specified watched resource name from the list associated with this Context.
`void` `removeWelcomeFile(String name)` Remove the specified welcome file name from the list recognized by this Context.
`void` `removeWrapperLifecycle(String listener)` Remove a class name from the set of LifecycleListener classes that will be added to newly created Wrappers.
`void` `removeWrapperListener(String listener)` Remove a class name from the set of ContainerListener classes that will be added to newly created Wrappers.
`boolean` `resourcesStart()` Allocate resources, including proxy.
`boolean` `resourcesStop()` Deallocate resources and destroy proxy.
`void` `setAddWebinfClassesResources(boolean addWebinfClassesResources)`
`void` `setAliases(String aliases)` Set the current alias configuration.
`void` `setAllowCasualMultipartParsing(boolean allowCasualMultipartParsing)` Set to `true` to allow requests mapped to servlets that do not explicitly declare @MultipartConfig or have <multipart-config> specified in web.xml to parse multipart/form-data requests.
`void` `setAllowLinking(boolean allowLinking)` Set allow linking.
`void` `setAltDDName(String altDDName)` Set an alternate Deployment Descriptor name.
`void` `setAntiJARLocking(boolean antiJARLocking)` Set the antiJARLocking feature for this Context.
`void` `setAntiResourceLocking(boolean antiResourceLocking)` Set the antiResourceLocking feature for this Context.
`void` `setApplicationEventListeners(Object[] listeners)` Store the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application.
`void` `setApplicationLifecycleListeners(Object[] listeners)` Store the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.
`void` `setCacheMaxSize(int cacheMaxSize)` Set the maximum size of the cache in KB.
`void` `setCacheObjectMaxSize(int cacheObjectMaxSize)` Set the maximum size of objects to be placed the cache in KB.
`void` `setCacheTTL(int cacheTTL)` Set cache TTL.
`void` `setCachingAllowed(boolean cachingAllowed)` Set caching allowed flag.
`void` `setCharsetMapper(CharsetMapper mapper)` Set the Locale to character set mapper for this Context.
`void` `setCharsetMapperClass(String mapper)` Set the Locale to character set mapper class for this Context.
`void` `setClearReferencesHttpClientKeepAliveThread(boolean clearReferencesHttpClientKeepAliveThread)` Set the clearReferencesHttpClientKeepAliveThread feature for this Context.
`void` `setClearReferencesStatic(boolean clearReferencesStatic)` Set the clearReferencesStatic feature for this Context.
`void` `setClearReferencesStopThreads(boolean clearReferencesStopThreads)` Set the clearReferencesStopThreads feature for this Context.
`void` `setClearReferencesStopTimerThreads(boolean clearReferencesStopTimerThreads)` Set the clearReferencesStopTimerThreads feature for this Context.
`void` `setCompilerClasspath(String compilerClasspath)` Deprecated.
`void` `setConfigFile(URL configFile)` Set the URL of the XML descriptor for this context.
`void` `setConfigured(boolean configured)` Set the "correctly configured" flag for this Context.
`void` `setContainerSciFilter(String containerSciFilter)` Sets the regular expression that specifies which container provided SCIs should be filtered out and not used for this context.
`void` `setCookies(boolean cookies)` Set the "use cookies for session ids" flag.
`void` `setCopyXML(boolean copyXML)`
`void` `setCrossContext(boolean crossContext)` Set the "allow crossing servlet contexts" flag.
`void` `setDefaultContextXml(String defaultContextXml)` Set the location of the default context xml that will be used.
`void` `setDefaultWebXml(String defaultWebXml)` Set the location of the default web xml that will be used.
`void` `setDelegate(boolean delegate)` Set the "follow standard delegation model" flag used to configure our ClassLoader.
`void` `setDisplayName(String displayName)` Set the display name of this web application.
`void` `setDistributable(boolean distributable)` Set the distributable flag for this web application.
`void` `setDocBase(String docBase)` Set the document root for this Context.
`void` `setEffectiveMajorVersion(int effectiveMajorVersion)` Set the effective major version of the Servlet spec used by this context.
`void` `setEffectiveMinorVersion(int effectiveMinorVersion)` Set the effective minor version of the Servlet spec used by this context.
`void` `setFireRequestListenersOnForwards(boolean enable)` Configure whether or not requests listeners will be fired on forwards for this Context.
`void` `setIgnoreAnnotations(boolean ignoreAnnotations)` Set the boolean on the annotations parsing for this web application.
`void` `setInstanceManager(InstanceManager instanceManager)` Set the instance manager associated with this context.
`void` `setJ2EEApplication(String j2EEApplication)`
`void` `setJ2EEServer(String j2EEServer)`
`void` `setJarScanner(JarScanner jarScanner)` Set the Jar Scanner to be used to scan for JAR resources for this context.
`String[]` `setJavaVMs(String[] javaVMs)`
`void` `setJndiExceptionOnFailedWrite(boolean jndiExceptionOnFailedWrite)` Controls whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.
`void` `setLoader(Loader loader)` Set the Loader with which this Context is associated.
`void` `setLogEffectiveWebXml(boolean logEffectiveWebXml)` Set whether or not the effective web.xml for this context should be logged on context start.
`void` `setLoginConfig(LoginConfig config)` Set the login configuration descriptor for this web application.
`void` `setNamingContextListener(NamingContextListener namingContextListener)` Naming context listener setter.
`void` `setNamingResources(NamingResources namingResources)` Set the naming resources for this web application.
`void` `setOriginalDocBase(String docBase)` Set the original document root for this Context.
`void` `setOverride(boolean override)` Set the default context override flag for this web application.
`void` `setPath(String path)` Set the context path for this Context.
`void` `setPreemptiveAuthentication(boolean preemptiveAuthentication)` Configures if a user presents authentication credentials, whether the context will process them when the request is for a non-protected resource.
`void` `setPrivileged(boolean privileged)` Set the privileged flag for this web application.
`void` `setProcessTlds(boolean newProcessTlds)` Sets the process TLDs attribute.
`void` `setPublicId(String publicId)` Set the public identifier of the deployment descriptor DTD that is currently being parsed.
`void` `setReloadable(boolean reloadable)` Set the reloadable flag for this web application.
`void` `setRenewThreadsWhenStoppingContext(boolean renewThreadsWhenStoppingContext)`
`void` `setReplaceWelcomeFiles(boolean replaceWelcomeFiles)` Set the "replace welcome files" property.
`void` `setResourceOnlyServlets(String resourceOnlyServlets)` Sets the (comma separated) list of Servlets that expect a resource to be present.
`void` `setResources(DirContext resources)` Set the resources DirContext object with which this Container is associated.
`void` `setSaveConfig(boolean saveConfig)` Deprecated.
`void` `setSendRedirectBody(boolean sendRedirectBody)` Configures if a response body is included when a redirect response is sent to the client.
`String` `setServer(String server)`
`void` `setSessionCookieDomain(String sessionCookieDomain)` Sets the domain to use for session cookies.
`void` `setSessionCookieName(String sessionCookieName)` Sets the name to use for session cookies.
`void` `setSessionCookiePath(String sessionCookiePath)` Sets the path to use for session cookies.
`void` `setSessionCookiePathUsesTrailingSlash(boolean sessionCookiePathUsesTrailingSlash)` Configures if a / is added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.
`void` `setSessionTimeout(int timeout)` Set the default session timeout (in minutes) for this web application.
`void` `setStartupTime(long startupTime)`
`void` `setSwallowAbortedUploads(boolean swallowAbortedUploads)` Set to `false` to disable request data swallowing after an upload was aborted due to size constraints.
`void` `setSwallowOutput(boolean swallowOutput)` Set the value of the swallowOutput flag.
`void` `setTldNamespaceAware(boolean tldNamespaceAware)` *.tld files are always parsed using a namespace aware parser.
`void` `setTldScanTime(long tldScanTime)`
`void` `setTldValidation(boolean tldValidation)` Controls whether the parsing of *.tld files for this Context will be performed by a validating parser.
`void` `setUnloadDelay(long unloadDelay)` Set the value of the unloadDelay flag, which represents the amount of ms that the container will wait when unloading servlets.
`void` `setUnpackWAR(boolean unpackWAR)` Unpack WAR flag mutator.
`void` `setUseHttpOnly(boolean useHttpOnly)` Sets the use HttpOnly cookies for session cookies flag.
`void` `setUseNaming(boolean useNaming)` Enables or disables naming.
`void` `setWebappVersion(String webappVersion)` Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment.
`void` `setWorkDir(String workDir)` Set the work directory for this Context.
`void` `setWrapperClass(String wrapperClassName)` Set the Java class name of the Wrapper implementation used for servlets registered in this Context.
`void` `setXmlBlockExternal(boolean xmlBlockExternal)` Controls whether the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context will block the use of external entities.
`void` `setXmlNamespaceAware(boolean webXmlNamespaceAware)` Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a namespace aware parser.
`void` `setXmlValidation(boolean webXmlValidation)` Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a validating parser.
`protected void` `startInternal()` Start this component and implement the requirements of `LifecycleBase.startInternal()`.
`void` `startRecursive()` Deprecated.
`protected void` `stopInternal()` Stop this component and implement the requirements of `LifecycleBase.stopInternal()`.
`String` `toString()` Return a String representation of this component.
`protected void` `unbindThread(ClassLoader oldContextClassLoader)` Unbind thread.

### Methods inherited from class org.apache.catalina.core.ContainerBase

`addContainerListener, addPropertyChangeListener, addValve, backgroundProcess, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getChildren, getCluster, getDomainInternal, getLoader, getLogger, getManager, getMappingObject, getName, getParent, getPipeline, getRealm, getRealmInternal, getResources, getStartChildren, getStartStopThreads, invoke, logAccess, logName, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setManager, setName, setParent, setParentClassLoader, setRealm, setStartChildren, setStartStopThreads, threadStart, threadStop`

### Methods inherited from class org.apache.catalina.util.LifecycleMBeanBase

`getDomain, getObjectName, postDeregister, postRegister, preDeregister, preRegister, register, setDomain, unregister`

### Methods inherited from class org.apache.catalina.util.LifecycleBase

`addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, init, removeLifecycleListener, setState, setState, start, stop`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.catalina.Container

`addContainerListener, addPropertyChangeListener, backgroundProcess, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getCluster, getLoader, getLogger, getManager, getMappingObject, getName, getObjectName, getParent, getPipeline, getRealm, getResources, getStartStopThreads, invoke, logAccess, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setManager, setName, setParent, setParentClassLoader, setRealm, setStartStopThreads`

### Methods inherited from interface org.apache.catalina.Lifecycle

`addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop`

### Field Detail

#### urlEncoder

    protected static URLEncoder urlEncoder

Array containing the safe characters set.

#### allowCasualMultipartParsing

    protected boolean allowCasualMultipartParsing

Allow multipart/form-data requests to be parsed even when the target servlet doesn't specify @MultipartConfig or have a <multipart-config> element.

#### context

    protected ApplicationContext context

The ServletContext implementation associated with this Context.

#### allowLinking

    protected boolean allowLinking

Allow linking.

#### cacheMaxSize

    protected int cacheMaxSize

Cache max size in KB.

#### cacheObjectMaxSize

    protected int cacheObjectMaxSize

Cache object max size in KB.

#### cacheTTL

    protected int cacheTTL

Cache TTL in ms.

### Constructor Detail

#### StandardContext

    public StandardContext()

Create a new StandardContext component with the default basic Valve.

### Method Detail

#### setContainerSciFilter

    public void setContainerSciFilter(String containerSciFilter)

Description copied from interface: `Context`
Sets the regular expression that specifies which container provided SCIs should be filtered out and not used for this context. Matching uses `Matcher.find()` so the regular expression only has to match a sub-string of the fully qualified class name of the container provided SCI for it to be filtered out.

Specified by:
  `setContainerSciFilter` in interface `Context`
Parameters:
  `containerSciFilter` - The regular expression against which the fully qualified class name of each container provided SCI should be checked

#### getContainerSciFilter

    public String getContainerSciFilter()

Description copied from interface: `Context`
Obtains the regular expression that specifies which container provided SCIs should be filtered out and not used for this context. Matching uses `Matcher.find()` so the regular expression only has to match a sub-string of the fully qualified class name of the container provided SCI for it to be filtered out.

Specified by:
  `getContainerSciFilter` in interface `Context`
Returns:
  The regular expression against which the fully qualified class name of each container provided SCI will be checked

#### getSendRedirectBody

    public boolean getSendRedirectBody()

Description copied from interface: `Context`
Determines if the context is configured to include a response body as part of a redirect response.

Specified by:
  `getSendRedirectBody` in interface `Context`

#### setSendRedirectBody

    public void setSendRedirectBody(boolean sendRedirectBody)

Description copied from interface: `Context`
Configures if a response body is included when a redirect response is sent to the client.

Specified by:
  `setSendRedirectBody` in interface `Context`

#### getPreemptiveAuthentication

    public boolean getPreemptiveAuthentication()

Description copied from interface: `Context`
Determines if a user presents authentication credentials, will the context will process them when the request is for a non-protected resource.

Specified by:
  `getPreemptiveAuthentication` in interface `Context`

#### setPreemptiveAuthentication

    public void setPreemptiveAuthentication(boolean preemptiveAuthentication)

Description copied from interface: `Context`
Configures if a user presents authentication credentials, whether the context will process them when the request is for a non-protected resource.

Specified by:
  `setPreemptiveAuthentication` in interface `Context`

#### setFireRequestListenersOnForwards

    public void setFireRequestListenersOnForwards(boolean enable)

Description copied from interface: `Context`
Configure whether or not requests listeners will be fired on forwards for this Context.

Specified by:
  `setFireRequestListenersOnForwards` in interface `Context`

#### getFireRequestListenersOnForwards

    public boolean getFireRequestListenersOnForwards()

Description copied from interface: `Context`
Determine whether or not requests listeners will be fired on forwards for this Context.

Specified by:
  `getFireRequestListenersOnForwards` in interface `Context`

#### setAddWebinfClassesResources

    public void setAddWebinfClassesResources(boolean addWebinfClassesResources)

#### getAddWebinfClassesResources

    public boolean getAddWebinfClassesResources()

#### setWebappVersion

    public void setWebappVersion(String webappVersion)

Description copied from interface: `Context`
Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment.

Specified by:
  `setWebappVersion` in interface `Context`

#### getWebappVersion

    public String getWebappVersion()

Description copied from interface: `Context`
Set the version of this web application - used to differentiate different versions of the same web application when using parallel deployment. If not specified, defaults to the empty string.

Specified by:
  `getWebappVersion` in interface `Context`

#### getBaseName

    public String getBaseName()

Description copied from interface: `Context`
Return the base name to use for WARs, directories or context.xml files for this context.

Specified by:
  `getBaseName` in interface `Context`

#### getResourceOnlyServlets

    public String getResourceOnlyServlets()

Description copied from interface: `Context`
Obtains the list of Servlets that expect a resource to be present.

Specified by:
  `getResourceOnlyServlets` in interface `Context`
Returns:
  A comma separated list of Servlet names as used in web.xml

#### setResourceOnlyServlets

    public void setResourceOnlyServlets(String resourceOnlyServlets)

Description copied from interface: `Context`
Sets the (comma separated) list of Servlets that expect a resource to be present. Used to ensure that welcome files associated with Servlets that expect a resource to be present are not mapped when there is no resource.

Specified by:
  `setResourceOnlyServlets` in interface `Context`

#### isResourceOnlyServlet

    public boolean isResourceOnlyServlet(String servletName)

Description copied from interface: `Context`
Checks the named Servlet to see if it expects a resource to be present.

Specified by:
  `isResourceOnlyServlet` in interface `Context`
Parameters:
  `servletName` - Name of the Servlet (as per web.xml) to check
Returns:
  `true` if the Servlet expects a resource, otherwise `false`

#### getEffectiveMajorVersion

    public int getEffectiveMajorVersion()

Description copied from interface: `Context`
Return the effective major version of the Servlet spec used by this context.

Specified by:
  `getEffectiveMajorVersion` in interface `Context`

#### setEffectiveMajorVersion

    public void setEffectiveMajorVersion(int effectiveMajorVersion)

Description copied from interface: `Context`
Set the effective major version of the Servlet spec used by this context.

Specified by:
  `setEffectiveMajorVersion` in interface `Context`

#### getEffectiveMinorVersion

    public int getEffectiveMinorVersion()

Description copied from interface: `Context`
Return the effective minor version of the Servlet spec used by this context.

Specified by:
  `getEffectiveMinorVersion` in interface `Context`

#### setEffectiveMinorVersion

    public void setEffectiveMinorVersion(int effectiveMinorVersion)

Description copied from interface: `Context`
Set the effective minor version of the Servlet spec used by this context.

Specified by:
  `setEffectiveMinorVersion` in interface `Context`

#### setLogEffectiveWebXml

    public void setLogEffectiveWebXml(boolean logEffectiveWebXml)

Description copied from interface: `Context`
Set whether or not the effective web.xml for this context should be logged on context start.

Specified by:
  `setLogEffectiveWebXml` in interface `Context`

#### getLogEffectiveWebXml

    public boolean getLogEffectiveWebXml()

Description copied from interface: `Context`
Should the effective web.xml for this context be logged on context start?

Specified by:
  `getLogEffectiveWebXml` in interface `Context`

#### getAuthenticator

    public Authenticator getAuthenticator()

Description copied from interface: `Context`
Obtain the `Authenticator` that is used by this context or `null` if none is used.

Specified by:
  `getAuthenticator` in interface `Context`

#### getJarScanner

    public JarScanner getJarScanner()

Description copied from interface: `Context`
Get the Jar Scanner to be used to scan for JAR resources for this context.

Specified by:
  `getJarScanner` in interface `Context`
Returns:
  The Jar Scanner configured for this context.

#### setJarScanner

    public void setJarScanner(JarScanner jarScanner)

Description copied from interface: `Context`
Set the Jar Scanner to be used to scan for JAR resources for this context.

Specified by:
  `setJarScanner` in interface `Context`
Parameters:
  `jarScanner` - The Jar Scanner to be used for this context.

#### getInstanceManager

    public InstanceManager getInstanceManager()

Description copied from interface: `Context`
Get the instance manager associated with this context.

Specified by:
  `getInstanceManager` in interface `Context`

#### setInstanceManager

    public void setInstanceManager(InstanceManager instanceManager)

Description copied from interface: `Context`
Set the instance manager associated with this context.

Specified by:
  `setInstanceManager` in interface `Context`

#### getEncodedPath

    public String getEncodedPath()

Description copied from interface: `Context`
Return the URL encoded context path, using UTF-8.

Specified by:
  `getEncodedPath` in interface `Context`

#### isCachingAllowed

    public boolean isCachingAllowed()

Is caching allowed ?

#### setCachingAllowed

    public void setCachingAllowed(boolean cachingAllowed)

Set caching allowed flag.

#### setAllowLinking

    public void setAllowLinking(boolean allowLinking)

Set allow linking.

#### isAllowLinking

    public boolean isAllowLinking()

Is linking allowed.

#### setAllowCasualMultipartParsing

    public void setAllowCasualMultipartParsing(boolean allowCasualMultipartParsing)

Set to `true` to allow requests mapped to servlets that do not explicitly declare @MultipartConfig or have <multipart-config> specified in web.xml to parse multipart/form-data requests.

Specified by:
  `setAllowCasualMultipartParsing` in interface `Context`
Parameters:
  `allowCasualMultipartParsing` - `true` to allow such casual parsing, `false` otherwise.

#### getAllowCasualMultipartParsing

    public boolean getAllowCasualMultipartParsing()

Returns `true` if requests mapped to servlets without "multipart config" to parse multipart/form-data requests anyway.

Specified by:
  `getAllowCasualMultipartParsing` in interface `Context`
Returns:
  `true` if requests mapped to servlets without "multipart config" to parse multipart/form-data requests, `false` otherwise.

#### setSwallowAbortedUploads

    public void setSwallowAbortedUploads(boolean swallowAbortedUploads)

Set to `false` to disable request data swallowing after an upload was aborted due to size constraints.

Specified by:
  `setSwallowAbortedUploads` in interface `Context`
Parameters:
  `swallowAbortedUploads` - `false` to disable swallowing, `true` otherwise (default).

#### getSwallowAbortedUploads

    public boolean getSwallowAbortedUploads()

Returns `true` if remaining request data will be read (swallowed) even the request violates a data size constraint.

Specified by:
  `getSwallowAbortedUploads` in interface `Context`
Returns:
  `true` if data will be swallowed (default), `false` otherwise.

#### setCacheTTL

    public void setCacheTTL(int cacheTTL)

Set cache TTL.

#### getCacheTTL

    public int getCacheTTL()

Get cache TTL.

#### getCacheMaxSize

    public int getCacheMaxSize()

Return the maximum size of the cache in KB.

#### setCacheMaxSize

    public void setCacheMaxSize(int cacheMaxSize)

Set the maximum size of the cache in KB.

#### getCacheObjectMaxSize

    public int getCacheObjectMaxSize()

Return the maximum size of objects to be cached in KB.

#### setCacheObjectMaxSize

    public void setCacheObjectMaxSize(int cacheObjectMaxSize)

Set the maximum size of objects to be placed the cache in KB.

#### getAliases

    public String getAliases()

Return the list of resource aliases.

#### addResourceJarUrl

    public void addResourceJarUrl(URL url)

Add a URL for a JAR that contains static resources in a META-INF/resources directory that should be included in the static resources for this context.

Specified by:
  `addResourceJarUrl` in interface `Context`

#### addResourcesDirContext

    public void addResourcesDirContext(DirContext altDirContext)

Add a URL for a JAR that contains static resources in a META-INF/resources directory that should be included in the static resources for this context.

#### setAliases

    public void setAliases(String aliases)

Set the current alias configuration. The list of aliases should be of the form "/aliasPath1=docBase1,/aliasPath2=docBase2" where aliasPathN must include a leading '/' and docBaseN must be an absolute path to either a .war file or a directory.

#### addServletContainerInitializer

    public void addServletContainerInitializer(ServletContainerInitializer sci,
                                      Set<Class<?>> classes)

Add a ServletContainerInitializer instance to this web application.

Specified by:
  `addServletContainerInitializer` in interface `Context`
Parameters:
  `sci` - The instance to add
  `classes` - The classes in which the initializer expressed an interest

#### getDelegate

    public boolean getDelegate()

Return the "follow standard delegation model" flag used to configure our ClassLoader.

#### setDelegate

    public void setDelegate(boolean delegate)

Set the "follow standard delegation model" flag used to configure our ClassLoader.

Parameters:
  `delegate` - The new flag

#### isUseNaming

    public boolean isUseNaming()

Returns true if the internal naming support is used.

#### setUseNaming

    public void setUseNaming(boolean useNaming)

Enables or disables naming.

#### isFilesystemBased

    @Deprecated
    public boolean isFilesystemBased()

Deprecated.
Returns true if the resources associated with this context are filesystem based.

#### getApplicationEventListeners

    public Object[] getApplicationEventListeners()

Return the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
  `getApplicationEventListeners` in interface `Context`
Throws:
  `IllegalStateException` - if this method is called before this application has started, or after it has been stopped

#### setApplicationEventListeners

    public void setApplicationEventListeners(Object[] listeners)

Store the set of initialized application event listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
  `setApplicationEventListeners` in interface `Context`
Parameters:
  `listeners` - The set of instantiated listener objects.

#### addApplicationEventListener

    public void addApplicationEventListener(Object listener)

Add a listener to the end of the list of initialized application event listeners.

#### getApplicationLifecycleListeners

    public Object[] getApplicationLifecycleListeners()

Return the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
  `getApplicationLifecycleListeners` in interface `Context`
Throws:
  `IllegalStateException` - if this method is called before this application has started, or after it has been stopped

#### setApplicationLifecycleListeners

    public void setApplicationLifecycleListeners(Object[] listeners)

Store the set of initialized application lifecycle listener objects, in the order they were specified in the web application deployment descriptor, for this application.

Specified by:
  `setApplicationLifecycleListeners` in interface `Context`
Parameters:
  `listeners` - The set of instantiated listener objects.

#### addApplicationLifecycleListener

    public void addApplicationLifecycleListener(Object listener)

Add a listener to the end of the list of initialized application lifecycle listeners.

#### getAntiJARLocking

    public boolean getAntiJARLocking()

Return the antiJARLocking flag for this Context.

#### getAntiResourceLocking

    public boolean getAntiResourceLocking()

Return the antiResourceLocking flag for this Context.

#### setAntiJARLocking

    public void setAntiJARLocking(boolean antiJARLocking)

Set the antiJARLocking feature for this Context.

Parameters:
  `antiJARLocking` - The new flag value

#### setAntiResourceLocking

    public void setAntiResourceLocking(boolean antiResourceLocking)

Set the antiResourceLocking feature for this Context.

Parameters:
  `antiResourceLocking` - The new flag value

#### getAvailable

    public boolean getAvailable()

Return the application available flag for this Context.

Specified by:
  `getAvailable` in interface `Context`

#### getCharsetMapper

    public CharsetMapper getCharsetMapper()

Return the Locale to character set mapper for this Context.

Specified by:
  `getCharsetMapper` in interface `Context`

#### setCharsetMapper

    public void setCharsetMapper(CharsetMapper mapper)

Set the Locale to character set mapper for this Context.

Specified by:
  `setCharsetMapper` in interface `Context`
Parameters:
  `mapper` - The new mapper

#### getCharset

    public String getCharset(Locale locale)

Description copied from interface: `Context`
Obtain the character set name to use with the given Locale. Note that different Contexts may have different mappings of Locale to character set.

Specified by:
  `getCharset` in interface `Context`

#### getConfigFile

    public URL getConfigFile()

Return the URL of the XML descriptor for this context.

Specified by:
  `getConfigFile` in interface `Context`

#### setConfigFile

    public void setConfigFile(URL configFile)

Set the URL of the XML descriptor for this context.

Specified by:
  `setConfigFile` in interface `Context`
Parameters:
  `configFile` - The URL of the XML descriptor for this context.

#### getConfigured

    public boolean getConfigured()

Return the "correctly configured" flag for this Context.

Specified by:
  `getConfigured` in interface `Context`

#### setConfigured

    public void setConfigured(boolean configured)

Set the "correctly configured" flag for this Context. This can be set to false by startup listeners that detect a fatal configuration error to avoid the application from being made available.

Specified by:
  `setConfigured` in interface `Context`
Parameters:
  `configured` - The new correctly configured flag

#### getCookies

    public boolean getCookies()

Return the "use cookies for session ids" flag.

Specified by:
  `getCookies` in interface `Context`

#### setCookies

    public void setCookies(boolean cookies)

Set the "use cookies for session ids" flag.

Specified by:
  `setCookies` in interface `Context`
Parameters:
  `cookies` - The new flag

#### getSessionCookieName

    public String getSessionCookieName()

Gets the name to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `getSessionCookieName` in interface `Context`
Returns:
  The value of the default session cookie name or null if not specified

#### setSessionCookieName

    public void setSessionCookieName(String sessionCookieName)

Sets the name to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `setSessionCookieName` in interface `Context`
Parameters:
  `sessionCookieName` - The name to use

#### getUseHttpOnly

    public boolean getUseHttpOnly()

Gets the value of the use HttpOnly cookies for session cookies flag.

Specified by:
  `getUseHttpOnly` in interface `Context`
Returns:
  `true` if the HttpOnly flag should be set on session cookies

#### setUseHttpOnly

    public void setUseHttpOnly(boolean useHttpOnly)

Sets the use HttpOnly cookies for session cookies flag.

Specified by:
  `setUseHttpOnly` in interface `Context`
Parameters:
  `useHttpOnly` - Set to `true` to use HttpOnly cookies for session cookies

#### getSessionCookieDomain

    public String getSessionCookieDomain()

Gets the domain to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `getSessionCookieDomain` in interface `Context`
Returns:
  The value of the default session cookie domain or null if not specified

#### setSessionCookieDomain

    public void setSessionCookieDomain(String sessionCookieDomain)

Sets the domain to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `setSessionCookieDomain` in interface `Context`
Parameters:
  `sessionCookieDomain` - The domain to use

#### getSessionCookiePath

    public String getSessionCookiePath()

Gets the path to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `getSessionCookiePath` in interface `Context`
Returns:
  The value of the default session cookie path or null if not specified

#### setSessionCookiePath

    public void setSessionCookiePath(String sessionCookiePath)

Sets the path to use for session cookies. Overrides any setting that may be specified by the application.

Specified by:
  `setSessionCookiePath` in interface `Context`
Parameters:
  `sessionCookiePath` - The path to use

#### getSessionCookiePathUsesTrailingSlash

    public boolean getSessionCookiePathUsesTrailingSlash()

Description copied from interface: `Context`
Is a / added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.

Specified by:
  `getSessionCookiePathUsesTrailingSlash` in interface `Context`
Returns:
  `true` if the slash is added, otherwise `false`

#### setSessionCookiePathUsesTrailingSlash

    public void setSessionCookiePathUsesTrailingSlash(boolean sessionCookiePathUsesTrailingSlash)

Description copied from interface: `Context`
Configures if a / is added to the end of the session cookie path to ensure browsers, particularly IE, don't send a session cookie for context /foo with requests intended for context /foobar.

Specified by:
  `setSessionCookiePathUsesTrailingSlash` in interface `Context`
Parameters:
  `sessionCookiePathUsesTrailingSlash` - `true` if the slash is should be added, otherwise `false`

#### getCrossContext

    public boolean getCrossContext()

Return the "allow crossing servlet contexts" flag.

Specified by:
  `getCrossContext` in interface `Context`

#### setCrossContext

    public void setCrossContext(boolean crossContext)

Set the "allow crossing servlet contexts" flag.

Specified by:
  `setCrossContext` in interface `Context`
Parameters:
  `crossContext` - The new cross contexts flag

#### getDefaultContextXml

    public String getDefaultContextXml()

#### setDefaultContextXml

    public void setDefaultContextXml(String defaultContextXml)

Set the location of the default context xml that will be used. If not absolute, it'll be made relative to the engine's base dir ( which defaults to catalina.base system property ).

Parameters:
  `defaultContextXml` - The default web xml

#### getDefaultWebXml

    public String getDefaultWebXml()

#### setDefaultWebXml

    public void setDefaultWebXml(String defaultWebXml)

Set the location of the default web xml that will be used. If not absolute, it'll be made relative to the engine's base dir ( which defaults to catalina.base system property ).

Parameters:
  `defaultWebXml` - The default web xml

#### getStartupTime

    public long getStartupTime()

Gets the time (in milliseconds) it took to start this context.

Returns:
  Time (in milliseconds) it took to start this context.

#### setStartupTime

    public void setStartupTime(long startupTime)

#### getTldScanTime

    public long getTldScanTime()

#### setTldScanTime

    public void setTldScanTime(long tldScanTime)

#### getDisplayName

    public String getDisplayName()

Return the display name of this web application.

Specified by:
  `getDisplayName` in interface `Context`

#### getAltDDName

    public String getAltDDName()

Return the alternate Deployment Descriptor name.

Specified by:
  `getAltDDName` in interface `Context`

#### setAltDDName

    public void setAltDDName(String altDDName)

Set an alternate Deployment Descriptor name.

Specified by:
  `setAltDDName` in interface `Context`

#### getCompilerClasspath

    @Deprecated
    public String getCompilerClasspath()

Deprecated.
Return the compiler classpath.

#### setCompilerClasspath

    @Deprecated
    public void setCompilerClasspath(String compilerClasspath)

Deprecated.
Set the compiler classpath.

#### setDisplayName

    public void setDisplayName(String displayName)

Set the display name of this web application.

Specified by:
  `setDisplayName` in interface `Context`
Parameters:
  `displayName` - The new display name

#### getDistributable

    public boolean getDistributable()

Return the distributable flag for this web application.

Specified by:
  `getDistributable` in interface `Context`

#### setDistributable

    public void setDistributable(boolean distributable)

Set the distributable flag for this web application.

Specified by:
  `setDistributable` in interface `Context`
Parameters:
  `distributable` - The new distributable flag

#### getDocBase

    public String getDocBase()

Return the document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.

Specified by:
  `getDocBase` in interface `Context`

#### setDocBase

    public void setDocBase(String docBase)

Set the document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.

Specified by:
  `setDocBase` in interface `Context`
Parameters:
  `docBase` - The new document root

#### getInfo

    public String getInfo()

Return descriptive information about this Container implementation and the corresponding version number, in the format `<description>/<version>`.

Specified by:
  `getInfo` in interface `Container`
Overrides:
  `getInfo` in class `ContainerBase`

#### getJ2EEApplication

    public String getJ2EEApplication()

#### setJ2EEApplication

    public void setJ2EEApplication(String j2EEApplication)

#### getJ2EEServer

    public String getJ2EEServer()

#### setJ2EEServer

    public void setJ2EEServer(String j2EEServer)

#### setLoader

    public void setLoader(Loader loader)

Set the Loader with which this Context is associated.

Specified by:
  `setLoader` in interface `Container`
Overrides:
  `setLoader` in class `ContainerBase`
Parameters:
  `loader` - The newly associated loader

#### getIgnoreAnnotations

    public boolean getIgnoreAnnotations()

Return the boolean on the annotations parsing.

Specified by:
  `getIgnoreAnnotations` in interface `Context`

#### setIgnoreAnnotations

    public void setIgnoreAnnotations(boolean ignoreAnnotations)

Set the boolean on the annotations parsing for this web application.

Specified by:
  `setIgnoreAnnotations` in interface `Context`
Parameters:
  `ignoreAnnotations` - The boolean on the annotations parsing

#### getLoginConfig

    public LoginConfig getLoginConfig()

Return the login configuration descriptor for this web application.

Specified by:
  `getLoginConfig` in interface `Context`

#### setLoginConfig

    public void setLoginConfig(LoginConfig config)

Set the login configuration descriptor for this web application.

Specified by:
  `setLoginConfig` in interface `Context`
Parameters:
  `config` - The new login configuration

#### getMapper

    public Mapper getMapper()

Get the mapper associated with the context.

Specified by:
  `getMapper` in interface `Context`

#### getNamingResources

    public NamingResources getNamingResources()

Return the naming resources associated with this web application.

Specified by:
  `getNamingResources` in interface `Context`

#### setNamingResources

    public void setNamingResources(NamingResources namingResources)

Set the naming resources for this web application.

Specified by:
  `setNamingResources` in interface `Context`
Parameters:
  `namingResources` - The new naming resources

#### getPath

    public String getPath()

Return the context path for this Context.

Specified by:
  `getPath` in interface `Context`

#### setPath

    public void setPath(String path)

Set the context path for this Context.

Specified by:
  `setPath` in interface `Context`
Parameters:
  `path` - The new context path

#### getPublicId

    public String getPublicId()

Return the public identifier of the deployment descriptor DTD that is currently being parsed.

Specified by:
  `getPublicId` in interface `Context`

#### setPublicId

    public void setPublicId(String publicId)

Set the public identifier of the deployment descriptor DTD that is currently being parsed.

Specified by:
  `setPublicId` in interface `Context`
Parameters:
  `publicId` - The public identifier

#### getReloadable

    public boolean getReloadable()

Return the reloadable flag for this web application.

Specified by:
  `getReloadable` in interface `Context`

#### getOverride

    public boolean getOverride()

Return the default context override flag for this web application.

Specified by:
  `getOverride` in interface `Context`

#### getOriginalDocBase

    public String getOriginalDocBase()

Return the original document root for this Context. This can be an absolute pathname, a relative pathname, or a URL. Is only set as deployment has change docRoot!

#### setOriginalDocBase

    public void setOriginalDocBase(String docBase)

Set the original document root for this Context. This can be an absolute pathname, a relative pathname, or a URL.

Parameters:
  `docBase` - The original document root

#### getParentClassLoader

    public ClassLoader getParentClassLoader()

Return the parent class loader (if any) for this web application. This call is meaningful only after a Loader has been configured.

Specified by:
  `getParentClassLoader` in interface `Container`
Overrides:
  `getParentClassLoader` in class `ContainerBase`

#### getPrivileged

    public boolean getPrivileged()

Return the privileged flag for this web application.

Specified by:
  `getPrivileged` in interface `Context`

#### setPrivileged

    public void setPrivileged(boolean privileged)

Set the privileged flag for this web application.

Specified by:
  `setPrivileged` in interface `Context`
Parameters:
  `privileged` - The new privileged flag

#### setReloadable

    public void setReloadable(boolean reloadable)

Set the reloadable flag for this web application.

Specified by:
  `setReloadable` in interface `Context`
Parameters:
  `reloadable` - The new reloadable flag

#### setOverride

    public void setOverride(boolean override)

Set the default context override flag for this web application.

Specified by:
  `setOverride` in interface `Context`
Parameters:
  `override` - The new override flag

#### isReplaceWelcomeFiles

    @Deprecated
    public boolean isReplaceWelcomeFiles()

Deprecated.
Return the "replace welcome files" property.

#### setReplaceWelcomeFiles

    public void setReplaceWelcomeFiles(boolean replaceWelcomeFiles)

Set the "replace welcome files" property.

Parameters:
  `replaceWelcomeFiles` - The new property value

#### getServletContext

    public ServletContext getServletContext()

Return the servlet context for which this Context is a facade.

Specified by:
  `getServletContext` in interface `Context`

#### getSessionTimeout

    public int getSessionTimeout()

Return the default session timeout (in minutes) for this web application.

Specified by:
  `getSessionTimeout` in interface `Context`

#### setSessionTimeout

    public void setSessionTimeout(int timeout)

Set the default session timeout (in minutes) for this web application.

Specified by:
  `setSessionTimeout` in interface `Context`
Parameters:
  `timeout` - The new default session timeout

#### getSwallowOutput

    public boolean getSwallowOutput()

Return the value of the swallowOutput flag.

Specified by:
  `getSwallowOutput` in interface `Context`

#### setSwallowOutput

    public void setSwallowOutput(boolean swallowOutput)

Set the value of the swallowOutput flag. If set to true, the system.out and system.err will be redirected to the logger during a servlet execution.

Specified by:
  `setSwallowOutput` in interface `Context`
Parameters:
  `swallowOutput` - The new value

#### getUnloadDelay

    public long getUnloadDelay()

Return the value of the unloadDelay flag.

#### setUnloadDelay

    public void setUnloadDelay(long unloadDelay)

Set the value of the unloadDelay flag, which represents the amount of ms that the container will wait when unloading servlets. Setting this to a small value may cause more requests to fail to complete when stopping a web application.

Parameters:
  `unloadDelay` - The new value

#### getUnpackWAR

    public boolean getUnpackWAR()

Unpack WAR flag accessor.

#### setUnpackWAR

    public void setUnpackWAR(boolean unpackWAR)

Unpack WAR flag mutator.

#### getCopyXML

    public boolean getCopyXML()

#### setCopyXML

    public void setCopyXML(boolean copyXML)

#### getWrapperClass

    public String getWrapperClass()

Return the Java class name of the Wrapper implementation used for servlets registered in this Context.

Specified by:
  `getWrapperClass` in interface `Context`

#### setWrapperClass

    public void setWrapperClass(String wrapperClassName)

Set the Java class name of the Wrapper implementation used for servlets registered in this Context.

Specified by:
  `setWrapperClass` in interface `Context`
Parameters:
  `wrapperClassName` - The new wrapper class name
Throws:
  `IllegalArgumentException` - if the specified wrapper class cannot be found or is not a subclass of StandardWrapper

#### setResources

    public void setResources(DirContext resources)

Set the resources DirContext object with which this Container is associated.

Specified by:
  `setResources` in interface `Container`
Overrides:
  `setResources` in class `ContainerBase`
Parameters:
  `resources` - The newly associated DirContext

#### getJspConfigDescriptor

    public JspConfigDescriptor getJspConfigDescriptor()

Description copied from interface: `Context`
Obtain the JSP configuration for this context.

Specified by:
  `getJspConfigDescriptor` in interface `Context`

#### getJndiExceptionOnFailedWrite

    public boolean getJndiExceptionOnFailedWrite()

Returns whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.

#### setJndiExceptionOnFailedWrite

    public void setJndiExceptionOnFailedWrite(boolean jndiExceptionOnFailedWrite)

Controls whether or not an attempt to modify the JNDI context will trigger an exception or if the request will be ignored.

Parameters:
  `jndiExceptionOnFailedWrite` -

#### getCharsetMapperClass

    public String getCharsetMapperClass()

Return the Locale to character set mapper class for this Context.

#### setCharsetMapperClass

    public void setCharsetMapperClass(String mapper)

Set the Locale to character set mapper class for this Context.

Parameters:
  `mapper` - The new mapper class

#### getWorkPath

    public String getWorkPath()

Get the absolute path to the work dir. To avoid duplication.

Returns:
  The work path

#### getWorkDir

    public String getWorkDir()

Return the work directory for this Context.

#### setWorkDir

    public void setWorkDir(String workDir)

Set the work directory for this Context.

Parameters:
  `workDir` - The new work directory

#### isSaveConfig

    @Deprecated
    public boolean isSaveConfig()

Deprecated.
Save config ?

#### setSaveConfig

    @Deprecated
    public void setSaveConfig(boolean saveConfig)

Deprecated.
Set save config flag.

#### getClearReferencesStatic

    public boolean getClearReferencesStatic()

Return the clearReferencesStatic flag for this Context.

#### setClearReferencesStatic

    public void setClearReferencesStatic(boolean clearReferencesStatic)

Set the clearReferencesStatic feature for this Context.

Parameters:
  `clearReferencesStatic` - The new flag value

#### getClearReferencesStopThreads

    public boolean getClearReferencesStopThreads()

Return the clearReferencesStopThreads flag for this Context.

#### setClearReferencesStopThreads

    public void setClearReferencesStopThreads(boolean clearReferencesStopThreads)

Set the clearReferencesStopThreads feature for this Context.

Parameters:
  `clearReferencesStopThreads` - The new flag value

#### getClearReferencesStopTimerThreads

    public boolean getClearReferencesStopTimerThreads()

Return the clearReferencesStopTimerThreads flag for this Context.

#### setClearReferencesStopTimerThreads

    public void setClearReferencesStopTimerThreads(boolean clearReferencesStopTimerThreads)

Set the clearReferencesStopTimerThreads feature for this Context.

Parameters:
  `clearReferencesStopTimerThreads` - The new flag value

#### getClearReferencesHttpClientKeepAliveThread

    public boolean getClearReferencesHttpClientKeepAliveThread()

Return the clearReferencesHttpClientKeepAliveThread flag for this Context.

#### setClearReferencesHttpClientKeepAliveThread

    public void setClearReferencesHttpClientKeepAliveThread(boolean clearReferencesHttpClientKeepAliveThread)

Set the clearReferencesHttpClientKeepAliveThread feature for this Context.

Parameters:
  `clearReferencesHttpClientKeepAliveThread` - The new flag value

#### getRenewThreadsWhenStoppingContext

    public boolean getRenewThreadsWhenStoppingContext()

#### setRenewThreadsWhenStoppingContext

    public void setRenewThreadsWhenStoppingContext(boolean renewThreadsWhenStoppingContext)

#### addApplicationListener

    public void addApplicationListener(String listener)

Description copied from interface: `Context`
Add a new Listener class name to the set of Listeners configured for this application.

Specified by:
  `addApplicationListener` in interface `Context`
Parameters:
  `listener` - Java class name of a listener class

#### addApplicationListener

    public void addApplicationListener(ApplicationListener listener)

Add a new Listener class name to the set of Listeners configured for this application.

Specified by:
  `addApplicationListener` in interface `Context`
Parameters:
  `listener` - Java class name of a listener class

#### addApplicationParameter

    public void addApplicationParameter(ApplicationParameter parameter)

Add a new application parameter for this application.

Specified by:
  `addApplicationParameter` in interface `Context`
Parameters:
  `parameter` - The new application parameter

#### addChild

    public void addChild(Container child)

Add a child Container, only if the proposed child is an implementation of Wrapper.

Specified by:
  `addChild` in interface `Container`
Overrides:
  `addChild` in class `ContainerBase`
Parameters:
  `child` - Child container to be added
Throws:
  `IllegalArgumentException` - if the proposed container is not an implementation of Wrapper

#### addConstraint

    public void addConstraint(SecurityConstraint constraint)

Add a security constraint to the set for this web application.

Specified by:
  `addConstraint` in interface `Context`

#### addErrorPage

    public void addErrorPage(ErrorPage errorPage)

Add an error page for the specified error or Java exception.

Specified by:
  `addErrorPage` in interface `Context`
Parameters:
  `errorPage` - The error page definition to be added

#### addFilterDef

    public void addFilterDef(FilterDef filterDef)

Add a filter definition to this Context.

Specified by:
  `addFilterDef` in interface `Context`
Parameters:
  `filterDef` - The filter definition to be added

#### addFilterMap

    public void addFilterMap(FilterMap filterMap)

Add a filter mapping to this Context at the end of the current set of filter mappings.

Specified by:
  `addFilterMap` in interface `Context`
Parameters:
  `filterMap` - The filter mapping to be added
Throws:
  `IllegalArgumentException` - if the specified filter name does not match an existing filter definition, or the filter mapping is malformed

#### addFilterMapBefore

    public void addFilterMapBefore(FilterMap filterMap)

Add a filter mapping to this Context before the mappings defined in the deployment descriptor but after any other mappings added via this method.

Specified by:
  `addFilterMapBefore` in interface `Context`
Parameters:
  `filterMap` - The filter mapping to be added
Throws:
  `IllegalArgumentException` - if the specified filter name does not match an existing filter definition, or the filter mapping is malformed

#### addInstanceListener

    public void addInstanceListener(String listener)

Add the classname of an InstanceListener to be added to each Wrapper appended to this Context.

Specified by:
  `addInstanceListener` in interface `Context`
Parameters:
  `listener` - Java class name of an InstanceListener class

#### addLocaleEncodingMappingParameter

    public void addLocaleEncodingMappingParameter(String locale,
                                         String encoding)

Add a Locale Encoding Mapping (see Sec 5.4 of Servlet spec 2.4)

Specified by:
  `addLocaleEncodingMappingParameter` in interface `Context`
Parameters:
  `locale` - locale to map an encoding for
  `encoding` - encoding to be used for a give locale

#### addMessageDestination

    public void addMessageDestination(MessageDestination md)

Add a message destination for this web application.

Parameters:
  `md` - New message destination

#### addMessageDestinationRef

    public void addMessageDestinationRef(MessageDestinationRef mdr)

Add a message destination reference for this web application.

Parameters:
  `mdr` - New message destination reference

#### addMimeMapping

    public void addMimeMapping(String extension,
                      String mimeType)

Add a new MIME mapping, replacing any existing mapping for the specified extension.

Specified by:
  `addMimeMapping` in interface `Context`
Parameters:
  `extension` - Filename extension being mapped
  `mimeType` - Corresponding MIME type

#### addParameter

    public void addParameter(String name,
                    String value)

Add a new context initialization parameter.

Specified by:
  `addParameter` in interface `Context`
Parameters:
  `name` - Name of the new parameter
  `value` - Value of the new parameter
Throws:
  `IllegalArgumentException` - if the name or value is missing, or if this context initialization parameter has already been registered

#### addRoleMapping

    public void addRoleMapping(String role,
                      String link)

Add a security role reference for this web application.

Specified by:
  `addRoleMapping` in interface `Context`
Parameters:
  `role` - Security role used in the application
  `link` - Actual security role to check for

#### addSecurityRole

    public void addSecurityRole(String role)

Add a new security role for this web application.

Specified by:
  `addSecurityRole` in interface `Context`
Parameters:
  `role` - New security role

#### addServletMapping

    public void addServletMapping(String pattern,
                         String name)

Add a new servlet mapping, replacing any existing mapping for the specified pattern.

Specified by:
  `addServletMapping` in interface `Context`
Parameters:
  `pattern` - URL pattern to be mapped
  `name` - Name of the corresponding servlet to execute
Throws:
  `IllegalArgumentException` - if the specified servlet name is not known to this Context

#### addServletMapping

    public void addServletMapping(String pattern,
                         String name,
                         boolean jspWildCard)

Add a new servlet mapping, replacing any existing mapping for the specified pattern.

Specified by:
  `addServletMapping` in interface `Context`
Parameters:
  `pattern` - URL pattern to be mapped
  `name` - Name of the corresponding servlet to execute
  `jspWildCard` - true if name identifies the JspServlet and pattern contains a wildcard; false otherwise
Throws:
  `IllegalArgumentException` - if the specified servlet name is not known to this Context

#### addWatchedResource

    public void addWatchedResource(String name)

Add a new watched resource to the set recognized by this Context.

Specified by:
  `addWatchedResource` in interface `Context`
Parameters:
  `name` - New watched resource file name

#### addWelcomeFile

    public void addWelcomeFile(String name)

Add a new welcome file to the set recognized by this Context.

Specified by:
  `addWelcomeFile` in interface `Context`
Parameters:
  `name` - New welcome file name

#### addWrapperLifecycle

    public void addWrapperLifecycle(String listener)

Add the classname of a LifecycleListener to be added to each Wrapper appended to this Context.

Specified by:
  `addWrapperLifecycle` in interface `Context`
Parameters:
  `listener` - Java class name of a LifecycleListener class

#### addWrapperListener

    public void addWrapperListener(String listener)

Add the classname of a ContainerListener to be added to each Wrapper appended to this Context.

Specified by:
  `addWrapperListener` in interface `Context`
Parameters:
  `listener` - Java class name of a ContainerListener class

#### createWrapper

    public Wrapper createWrapper()

Factory method to create and return a new Wrapper instance, of the Java implementation class appropriate for this Context implementation. The constructor of the instantiated Wrapper will have been called, but no properties will have been set.

Specified by:
  `createWrapper` in interface `Context`

#### findApplicationListeners

    public String[] findApplicationListeners()

Return the set of application listener class names configured for this application.

Specified by:
  `findApplicationListeners` in interface `Context`

#### findApplicationParameters

    public ApplicationParameter[] findApplicationParameters()

Return the set of application parameters for this application.

Specified by:
  `findApplicationParameters` in interface `Context`

#### findConstraints

    public SecurityConstraint[] findConstraints()

Return the security constraints for this web application. If there are none, a zero-length array is returned.

Specified by:
  `findConstraints` in interface `Context`

#### findErrorPage

    public ErrorPage findErrorPage(int errorCode)

Return the error page entry for the specified HTTP error code, if any; otherwise return `null`.

Specified by:
  `findErrorPage` in interface `Context`
Parameters:
  `errorCode` - Error code to look up

#### findErrorPage

    public ErrorPage findErrorPage(String exceptionType)

Return the error page entry for the specified Java exception type, if any; otherwise return `null`.

Specified by:
  `findErrorPage` in interface `Context`
Parameters:
  `exceptionType` - Exception type to look up

#### findErrorPages

    public ErrorPage[] findErrorPages()

Return the set of defined error pages for all specified error codes and exception types.

Specified by:
  `findErrorPages` in interface `Context`

#### findFilterDef

    public FilterDef findFilterDef(String filterName)

Return the filter definition for the specified filter name, if any; otherwise return `null`.

Specified by:
  `findFilterDef` in interface `Context`
Parameters:
  `filterName` - Filter name to look up

#### findFilterDefs

    public FilterDef[] findFilterDefs()

Return the set of defined filters for this Context.

Specified by:
  `findFilterDefs` in interface `Context`

#### findFilterMaps

    public FilterMap[] findFilterMaps()

Return the set of filter mappings for this Context.

Specified by:
  `findFilterMaps` in interface `Context`

#### findInstanceListeners

    public String[] findInstanceListeners()

Return the set of InstanceListener classes that will be added to newly created Wrappers automatically.

Specified by:
  `findInstanceListeners` in interface `Context`

#### findMappingObject

    @Deprecated
    public Context findMappingObject()

Deprecated.
FIXME: Fooling introspection ...

#### findMessageDestination

    public MessageDestination findMessageDestination(String name)

Return the message destination with the specified name, if any; otherwise, return `null`.

Parameters:
  `name` - Name of the desired message destination

#### findMessageDestinations

    public MessageDestination[] findMessageDestinations()

Return the set of defined message destinations for this web application. If none have been defined, a zero-length array is returned.

#### findMessageDestinationRef

    public MessageDestinationRef findMessageDestinationRef(String name)

Return the message destination ref with the specified name, if any; otherwise, return `null`.

Parameters:
  `name` - Name of the desired message destination ref

#### findMessageDestinationRefs

    public MessageDestinationRef[] findMessageDestinationRefs()

Return the set of defined message destination refs for this web application. If none have been defined, a zero-length array is returned.

#### findMimeMapping

    public String findMimeMapping(String extension)

Return the MIME type to which the specified extension is mapped, if any; otherwise return `null`.

Specified by:
  `findMimeMapping` in interface `Context`
Parameters:
  `extension` - Extension to map to a MIME type

#### findMimeMappings

    public String[] findMimeMappings()

Return the extensions for which MIME mappings are defined. If there are none, a zero-length array is returned.

Specified by:
  `findMimeMappings` in interface `Context`

#### findParameter

    public String findParameter(String name)

Return the value for the specified context initialization parameter name, if any; otherwise return `null`.

Specified by:
  `findParameter` in interface `Context`
Parameters:
  `name` - Name of the parameter to return

#### findParameters

    public String[] findParameters()

Return the names of all defined context initialization parameters for this Context. If no parameters are defined, a zero-length array is returned.

Specified by:
  `findParameters` in interface `Context`

#### findRoleMapping

    public String findRoleMapping(String role)

For the given security role (as used by an application), return the corresponding role name (as defined by the underlying Realm) if there is one. Otherwise, return the specified role unchanged.

Specified by:
  `findRoleMapping` in interface `Context`
Parameters:
  `role` - Security role to map

#### findSecurityRole

    public boolean findSecurityRole(String role)

Return `true` if the specified security role is defined for this application; otherwise return `false`.

Specified by:
  `findSecurityRole` in interface `Context`
Parameters:
  `role` - Security role to verify

#### findSecurityRoles

    public String[] findSecurityRoles()

Return the security roles defined for this application. If none have been defined, a zero-length array is returned.

Specified by:
  `findSecurityRoles` in interface `Context`

#### findServletMapping

    public String findServletMapping(String pattern)

Return the servlet name mapped by the specified pattern (if any); otherwise return `null`.

Specified by:
  `findServletMapping` in interface `Context`
Parameters:
  `pattern` - Pattern for which a mapping is requested

#### findServletMappings

    public String[] findServletMappings()

Return the patterns of all defined servlet mappings for this Context. If no mappings are defined, a zero-length array is returned.

Specified by:
  `findServletMappings` in interface `Context`

#### findStatusPage

    public String findStatusPage(int status)

Return the context-relative URI of the error page for the specified HTTP status code, if any; otherwise return `null`.

Specified by:
  `findStatusPage` in interface `Context`
Parameters:
  `status` - HTTP status code to look up

#### findStatusPages

    public int[] findStatusPages()

Return the set of HTTP status codes for which error pages have been specified. If none are specified, a zero-length array is returned.

Specified by:
  `findStatusPages` in interface `Context`

#### findWelcomeFile

    public boolean findWelcomeFile(String name)

Return `true` if the specified welcome file is defined for this Context; otherwise return `false`.

Specified by:
  `findWelcomeFile` in interface `Context`
Parameters:
  `name` - Welcome file to verify

#### findWatchedResources

    public String[] findWatchedResources()

Return the set of watched resources for this Context. If none are defined, a zero length array will be returned.

Specified by:
  `findWatchedResources` in interface `Context`

#### findWelcomeFiles

    public String[] findWelcomeFiles()

Return the set of welcome files defined for this Context. If none are defined, a zero-length array is returned.

Specified by:
  `findWelcomeFiles` in interface `Context`

#### findWrapperLifecycles

    public String[] findWrapperLifecycles()

Return the set of LifecycleListener classes that will be added to newly created Wrappers automatically.

Specified by:
  `findWrapperLifecycles` in interface `Context`

#### findWrapperListeners

    public String[] findWrapperListeners()

Return the set of ContainerListener classes that will be added to newly created Wrappers automatically.

Specified by:
  `findWrapperListeners` in interface `Context`

#### reload

    public void reload()

Reload this web application, if reloading is supported.

IMPLEMENTATION NOTE: This method is designed to deal with reloads required by changes to classes in the underlying repositories of our class loader and changes to the web.xml file. It does not handle changes to any context.xml file. If the context.xml has changed, you should stop this Context and create (and start) a new Context instance instead. Note that there is additional code in `CoyoteAdapter#postParseRequest()` to handle mapping requests to paused Contexts.

Specified by:
  `reload` in interface `Context`
Throws:
  `IllegalStateException` - if the `reloadable` property is set to `false`.

#### removeApplicationListener

    public void removeApplicationListener(String listener)

Remove the specified application listener class from the set of listeners for this application.

Specified by:
  `removeApplicationListener` in interface `Context`
Parameters:
  `listener` - Java class name of the listener to be removed

#### removeApplicationParameter

    public void removeApplicationParameter(String name)

Remove the application parameter with the specified name from the set for this application.

Specified by:
  `removeApplicationParameter` in interface `Context`
Parameters:
  `name` - Name of the application parameter to remove

#### removeChild

    public void removeChild(Container child)

Add a child Container, only if the proposed child is an implementation of Wrapper.

Specified by:
  `removeChild` in interface `Container`
Overrides:
  `removeChild` in class `ContainerBase`
Parameters:
  `child` - Child container to be added
Throws:
  `IllegalArgumentException` - if the proposed container is not an implementation of Wrapper

#### removeConstraint

    public void removeConstraint(SecurityConstraint constraint)

Remove the specified security constraint from this web application.

Specified by:
  `removeConstraint` in interface `Context`
Parameters:
  `constraint` - Constraint to be removed

#### removeErrorPage

    public void removeErrorPage(ErrorPage errorPage)

Remove the error page for the specified error code or Java language exception, if it exists; otherwise, no action is taken.

Specified by:
  `removeErrorPage` in interface `Context`
Parameters:
  `errorPage` - The error page definition to be removed

#### removeFilterDef

    public void removeFilterDef(FilterDef filterDef)

Remove the specified filter definition from this Context, if it exists; otherwise, no action is taken.

Specified by:
  `removeFilterDef` in interface `Context`
Parameters:
  `filterDef` - Filter definition to be removed

#### removeFilterMap

    public void removeFilterMap(FilterMap filterMap)

Remove a filter mapping from this Context.

Specified by:
  `removeFilterMap` in interface `Context`
Parameters:
  `filterMap` - The filter mapping to be removed

#### removeInstanceListener

    public void removeInstanceListener(String listener)

Remove a class name from the set of InstanceListener classes that will be added to newly created Wrappers.

Specified by:
  `removeInstanceListener` in interface `Context`
Parameters:
  `listener` - Class name of an InstanceListener class to be removed

#### removeMessageDestination

    public void removeMessageDestination(String name)

Remove any message destination with the specified name.

Parameters:
  `name` - Name of the message destination to remove

#### removeMessageDestinationRef

    public void removeMessageDestinationRef(String name)

Remove any message destination ref with the specified name.

Parameters:
  `name` - Name of the message destination ref to remove

#### removeMimeMapping

    public void removeMimeMapping(String extension)

Remove the MIME mapping for the specified extension, if it exists; otherwise, no action is taken.

Specified by:
  `removeMimeMapping` in interface `Context`
Parameters:
  `extension` - Extension to remove the mapping for

#### removeParameter

    public void removeParameter(String name)

Remove the context initialization parameter with the specified name, if it exists; otherwise, no action is taken.

Specified by:
  `removeParameter` in interface `Context`
Parameters:
  `name` - Name of the parameter to remove

#### removeRoleMapping

    public void removeRoleMapping(String role)

Remove any security role reference for the specified name

Specified by:
  `removeRoleMapping` in interface `Context`
Parameters:
  `role` - Security role (as used in the application) to remove

#### removeSecurityRole

    public void removeSecurityRole(String role)

Remove any security role with the specified name.

Specified by:
  `removeSecurityRole` in interface `Context`
Parameters:
  `role` - Security role to remove

#### removeServletMapping

    public void removeServletMapping(String pattern)

Remove any servlet mapping for the specified pattern, if it exists; otherwise, no action is taken.

Specified by:
  `removeServletMapping` in interface `Context`
Parameters:
  `pattern` - URL pattern of the mapping to remove

#### removeWatchedResource

    public void removeWatchedResource(String name)

Remove the specified watched resource name from the list associated with this Context.

Specified by:
  `removeWatchedResource` in interface `Context`
Parameters:
  `name` - Name of the watched resource to be removed

#### removeWelcomeFile

    public void removeWelcomeFile(String name)

Remove the specified welcome file name from the list recognized by this Context.

Specified by:
  `removeWelcomeFile` in interface `Context`
Parameters:
  `name` - Name of the welcome file to be removed

#### removeWrapperLifecycle

    public void removeWrapperLifecycle(String listener)

Remove a class name from the set of LifecycleListener classes that will be added to newly created Wrappers.

Specified by:
  `removeWrapperLifecycle` in interface `Context`
Parameters:
  `listener` - Class name of a LifecycleListener class to be removed

#### removeWrapperListener

    public void removeWrapperListener(String listener)

Remove a class name from the set of ContainerListener classes that will be added to newly created Wrappers.

Specified by:
  `removeWrapperListener` in interface `Context`
Parameters:
  `listener` - Class name of a ContainerListener class to be removed

#### getProcessingTime

    public long getProcessingTime()

Gets the cumulative processing times of all servlets in this StandardContext.

Returns:
  Cumulative processing times of all servlets in this StandardContext

#### getMaxTime

    public long getMaxTime()

Gets the maximum processing time of all servlets in this StandardContext.

Returns:
  Maximum processing time of all servlets in this StandardContext

#### getMinTime

    public long getMinTime()

Gets the minimum processing time of all servlets in this StandardContext.

Returns:
  Minimum processing time of all servlets in this StandardContext

#### getRequestCount

    public int getRequestCount()

Gets the cumulative request count of all servlets in this StandardContext.

Returns:
  Cumulative request count of all servlets in this StandardContext

#### getErrorCount

    public int getErrorCount()

Gets the cumulative error count of all servlets in this StandardContext.

Returns:
  Cumulative error count of all servlets in this StandardContext

#### getRealPath

    public String getRealPath(String path)

Return the real path for a given virtual path, if possible; otherwise return `null`.

Specified by:
  `getRealPath` in interface `Context`
Parameters:
  `path` - The path to the desired resource

#### dynamicServletAdded

    public ServletRegistration.Dynamic dynamicServletAdded(Wrapper wrapper)

hook to register that we need to scan for security annotations.

Parameters:
  `wrapper` - The wrapper for the Servlet that was added

#### dynamicServletCreated

    public void dynamicServletCreated(Servlet servlet)

hook to track which registrations need annotation scanning

Parameters:
  `servlet` -

#### filterStart

    public boolean filterStart()

Configure and initialize the set of filters for this Context. Return `true` if all filter initialization completed successfully, or `false` otherwise.

#### filterStop

    public boolean filterStop()

Finalize and release the set of filters for this Context. Return `true` if all filter finalization completed successfully, or `false` otherwise.

#### findFilterConfig

    public FilterConfig findFilterConfig(String name)

Find and return the initialized `FilterConfig` for the specified filter name, if any; otherwise return `null`.

Parameters:
  `name` - Name of the desired filter

#### listenerStart

    public boolean listenerStart()

Configure the set of instantiated application event listeners for this Context. Return `true` if all listeners wre initialized successfully, or `false` otherwise.

#### listenerStop

    public boolean listenerStop()

Send an application stop event to all interested listeners. Return `true` if all events were sent successfully, or `false` otherwise.

#### resourcesStart

    public boolean resourcesStart()

Allocate resources, including proxy. Return `true` if initialization was successfull, or `false` otherwise.

#### resourcesStop

    public boolean resourcesStop()

Deallocate resources and destroy proxy.

#### loadOnStartup

    public void loadOnStartup(Container[] children)

Load and initialize all servlets marked "load on startup" in the web application deployment descriptor.

Parameters:
  `children` - Array of wrappers for all currently defined servlets (including those not declared load on startup)

#### startInternal

    protected void startInternal()
                          throws LifecycleException

Start this component and implement the requirements of `LifecycleBase.startInternal()`.

Overrides:
  `startInternal` in class `ContainerBase`
Throws:
  `LifecycleException` - if this component detects a fatal error that prevents this component from being used

#### stopInternal

    protected void stopInternal()
                         throws LifecycleException

Stop this component and implement the requirements of `LifecycleBase.stopInternal()`.

Overrides:
  `stopInternal` in class `ContainerBase`
Throws:
  `LifecycleException` - if this component detects a fatal error that prevents this component from being used

#### destroyInternal

    protected void destroyInternal()
                            throws LifecycleException

Destroy needs to clean up the context completely. The problem is that undoing all the config in start() and restoring a 'fresh' state is impossible. After stop()/destroy()/init()/start() we should have the same state as if a fresh start was done - i.e read modified web.xml, etc. This can only be done by completely removing the context object and remapping a new one, or by cleaning up everything. XXX Should this be done in stop() ?

Overrides:
  `destroyInternal` in class `ContainerBase`
Throws:
  `LifecycleException`

#### toString

    public String toString()

Return a String representation of this component.

Overrides:
  `toString` in class `Object`

#### adjustURLPattern

    protected String adjustURLPattern(String urlPattern)

Adjust the URL pattern to begin with a leading slash, if appropriate (i.e. we are running a servlet 2.2 application). Otherwise, return the specified URL pattern unchanged.

Parameters:
  `urlPattern` - The URL pattern to be adjusted (if needed) and returned

#### isServlet22

    public boolean isServlet22()

Are we processing a version 2.2 deployment descriptor?

Specified by:
  `isServlet22` in interface `Context`

#### addServletSecurity

    public Set<String> addServletSecurity(ApplicationServletRegistration registration,
                                 ServletSecurityElement servletSecurityElement)

Description copied from interface: `Context`
Notification that servlet security has been dynamically set in a `ServletRegistration.Dynamic`

Specified by:
  `addServletSecurity` in interface `Context`
Parameters:
  `registration` - servlet security was modified for
  `servletSecurityElement` - new security constraints for this servlet
Returns:
  urls currently mapped to this registration that are already present in web.xml

#### engineBase

    protected File engineBase()

Return a File object representing the base directory for the entire servlet container (i.e. the Engine container if present).

#### bindThread

    protected ClassLoader bindThread()

Bind current thread, both for CL purposes and for JNDI ENC support during : startup, shutdown and realoading of the context.

Returns:
  the previous context class loader

#### unbindThread

    protected void unbindThread(ClassLoader oldContextClassLoader)

Unbind thread.

#### getBasePath

    protected String getBasePath()

Get base path.

#### getAppBase

    protected String getAppBase()

Get app base.

#### getNamingContextListener

    public NamingContextListener getNamingContextListener()

Naming context listener accessor.

#### setNamingContextListener

    public void setNamingContextListener(NamingContextListener namingContextListener)

Naming context listener setter.

#### getPaused

    public boolean getPaused()

Return the request processing paused flag for this Context.

Specified by:
  `getPaused` in interface `Context`

#### getHostname

    @Deprecated
    public String getHostname()

Deprecated. Unused. Will be removed in Tomcat 8.0.x.

#### fireRequestInitEvent

    public boolean fireRequestInitEvent(ServletRequest request)

Description copied from interface: `Context`
Notify all `ServletRequestListener`s that a request has started.

Specified by:
  `fireRequestInitEvent` in interface `Context`
Returns:
  `true` if the listeners fire successfully, else `false`

#### fireRequestDestroyEvent

    public boolean fireRequestDestroyEvent(ServletRequest request)

Description copied from interface: `Context`
Notify all `ServletRequestListener`s that a request has ended.

Specified by:
  `fireRequestDestroyEvent` in interface `Context`
Returns:
  `true` if the listeners fire successfully, else `false`

#### addPostConstructMethod

    public void addPostConstructMethod(String clazz,
                              String method)

Description copied from interface: `Context`
Add a post construct method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.

Specified by:
  `addPostConstructMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name
  `method` - Post construct method name

#### removePostConstructMethod

    public void removePostConstructMethod(String clazz)

Description copied from interface: `Context`
Removes the post construct method definition for the given class, if it exists; otherwise, no action is taken.

Specified by:
  `removePostConstructMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name

#### addPreDestroyMethod

    public void addPreDestroyMethod(String clazz,
                           String method)

Description copied from interface: `Context`
Add a pre destroy method definition for the given class, if there is an existing definition for the specified class - IllegalArgumentException will be thrown.

Specified by:
  `addPreDestroyMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name
  `method` - Post construct method name

#### removePreDestroyMethod

    public void removePreDestroyMethod(String clazz)

Description copied from interface: `Context`
Removes the pre destroy method definition for the given class, if it exists; otherwise, no action is taken.

Specified by:
  `removePreDestroyMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name

#### findPostConstructMethod

    public String findPostConstructMethod(String clazz)

Description copied from interface: `Context`
Returns the method name that is specified as post construct method for the given class, if it exists; otherwise `NULL` will be returned.

Specified by:
  `findPostConstructMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name
Returns:
  the method name that is specified as post construct method for the given class, if it exists; otherwise `NULL` will be returned.

#### findPreDestroyMethod

    public String findPreDestroyMethod(String clazz)

Description copied from interface: `Context`
Returns the method name that is specified as pre destroy method for the given class, if it exists; otherwise `NULL` will be returned.

Specified by:
  `findPreDestroyMethod` in interface `Context`
Parameters:
  `clazz` - Fully qualified class name
Returns:
  the method name that is specified as pre destroy method for the given class, if it exists; otherwise `NULL` will be returned.

#### findPostConstructMethods

    public Map<String,String> findPostConstructMethods()

Description copied from interface: `Context`
Returns a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names. If there are no such classes an empty map will be returned.

Specified by:
  `findPostConstructMethods` in interface `Context`
Returns:
  a map with keys - fully qualified class names of the classes that have post construct methods and the values are the corresponding method names.

#### findPreDestroyMethods

    public Map<String,String> findPreDestroyMethods()

Description copied from interface: `Context`
Returns a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names. If there are no such classes an empty map will be returned.

Specified by:
  `findPreDestroyMethods` in interface `Context`
Returns:
  a map with keys - fully qualified class names of the classes that have pre destroy methods and the values are the corresponding method names.

#### getDeploymentDescriptor

    public String getDeploymentDescriptor()

JSR77 deploymentDescriptor attribute

Returns:
  string deployment descriptor

#### getServlets

    public String[] getServlets()

JSR77 servlets attribute

Returns:
  list of all servlets ( we know about )

#### getObjectNameKeyProperties

    protected String getObjectNameKeyProperties()

Description copied from class: `LifecycleMBeanBase`
Allow sub-classes to specify the key properties component of the `ObjectName` that will be used to register this component.

Specified by:
  `getObjectNameKeyProperties` in class `LifecycleMBeanBase`
Returns:
  The string representation of the key properties component of the desired `ObjectName`

#### initInternal

    protected void initInternal()
                         throws LifecycleException

Description copied from class: `LifecycleMBeanBase`
Sub-classes wishing to perform additional initialization should override this method, ensuring that super.initInternal() is the first call in the overriding method.

Overrides:
  `initInternal` in class `ContainerBase`
Throws:
  `LifecycleException`

#### removeNotificationListener

    public void removeNotificationListener(NotificationListener listener,
                                  NotificationFilter filter,
                                  Object object)
                                    throws ListenerNotFoundException

Specified by:
  `removeNotificationListener` in interface `NotificationEmitter`
Throws:
  `ListenerNotFoundException`

#### getNotificationInfo

    public MBeanNotificationInfo[] getNotificationInfo()

Specified by:
  `getNotificationInfo` in interface `NotificationBroadcaster`

#### addNotificationListener

    public void addNotificationListener(NotificationListener listener,
                               NotificationFilter filter,
                               Object object)
                                 throws IllegalArgumentException

Specified by:
  `addNotificationListener` in interface `NotificationBroadcaster`
Throws:
  `IllegalArgumentException`

#### removeNotificationListener

    public void removeNotificationListener(NotificationListener listener)
                                    throws ListenerNotFoundException

Remove a JMX-NotificationListener

Specified by:
  `removeNotificationListener` in interface `NotificationBroadcaster`
Throws:
  `ListenerNotFoundException`
See Also:
  `NotificationBroadcaster.removeNotificationListener(javax.management.NotificationListener)`

#### getStaticResources

    @Deprecated
    public DirContext getStaticResources()

Deprecated.
Return the naming resources associated with this web application.

#### findStaticResources

    @Deprecated
    public DirContext findStaticResources()

Deprecated.
Return the naming resources associated with this web application. FIXME: Fooling introspection ...

#### getWelcomeFiles

    public String[] getWelcomeFiles()

Return the naming resources associated with this web application.

#### getXmlNamespaceAware

    public boolean getXmlNamespaceAware()

Description copied from interface: `Context`
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a namespace aware parser?

Specified by:
  `getXmlNamespaceAware` in interface `Context`
Returns:
  true if namespace awareness is enabled.

#### setXmlNamespaceAware

    public void setXmlNamespaceAware(boolean webXmlNamespaceAware)

Description copied from interface: `Context`
Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a namespace aware parser.

Specified by:
  `setXmlNamespaceAware` in interface `Context`
Parameters:
  `webXmlNamespaceAware` - true to enable namespace awareness

#### setXmlValidation

    public void setXmlValidation(boolean webXmlValidation)

Description copied from interface: `Context`
Controls whether the parsing of web.xml and web-fragment.xml files for this Context will be performed by a validating parser.

Specified by:
  `setXmlValidation` in interface `Context`
Parameters:
  `webXmlValidation` - true to enable xml validation

#### getXmlValidation

    public boolean getXmlValidation()

Description copied from interface: `Context`
Will the parsing of web.xml and web-fragment.xml files for this Context be performed by a validating parser?

Specified by:
  `getXmlValidation` in interface `Context`
Returns:
  true if validation is enabled.

#### getTldNamespaceAware

    public boolean getTldNamespaceAware()

Description copied from interface: `Context`
*.tld files are always parsed using a namespace aware parser.

Specified by:
  `getTldNamespaceAware` in interface `Context`
Returns:
  Always `true`

#### setTldNamespaceAware

    public void setTldNamespaceAware(boolean tldNamespaceAware)

Description copied from interface: `Context`
*.tld files are always parsed using a namespace aware parser.

Specified by:
  `setTldNamespaceAware` in interface `Context`
Parameters:
  `tldNamespaceAware` - ignored

#### setXmlBlockExternal

    public void setXmlBlockExternal(boolean xmlBlockExternal)

Description copied from interface: `Context`
Controls whether the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context will block the use of external entities.

Specified by:
  `setXmlBlockExternal` in interface `Context`
Parameters:
  `xmlBlockExternal` - true to block external entities

#### getXmlBlockExternal

    public boolean getXmlBlockExternal()

Description copied from interface: `Context`
Will the parsing of web.xml, web-fragment.xml, *.tld, *.jspx, *.tagx and tagplugin.xml files for this Context block the use of external entities?

Specified by:
  `getXmlBlockExternal` in interface `Context`
Returns:
  true if access to external entities is blocked

#### setTldValidation

    public void setTldValidation(boolean tldValidation)

Description copied from interface: `Context`
Controls whether the parsing of *.tld files for this Context will be performed by a validating parser.

Specified by:
  `setTldValidation` in interface `Context`
Parameters:
  `tldValidation` - true to enable xml validation

#### getTldValidation

    public boolean getTldValidation()

Description copied from interface: `Context`
Will the parsing of *.tld files for this Context be performed by a validating parser?

Specified by:
  `getTldValidation` in interface `Context`
Returns:
  true if validation is enabled.

#### setProcessTlds

    public void setProcessTlds(boolean newProcessTlds)

Sets the process TLDs attribute.

Parameters:
  `newProcessTlds` - The new value

#### getProcessTlds

    public boolean getProcessTlds()

Returns the processTlds attribute value.

#### isStateManageable

    public boolean isStateManageable()

Support for "stateManageable" JSR77

#### startRecursive

    @Deprecated
    public void startRecursive()
                        throws LifecycleException

Deprecated.

Throws:
  `LifecycleException`

#### getServer

    public String getServer()

#### setServer

    public String setServer(String server)

#### getJavaVMs

    public String[] getJavaVMs()

#### setJavaVMs

    public String[] setJavaVMs(String[] javaVMs)

#### getStartTime

    public long getStartTime()

Gets the time this context was started.

Returns:
  Time (in milliseconds since January 1, 1970, 00:00:00) when this context was started

#### isEventProvider

    @Deprecated
    public boolean isEventProvider()

Deprecated.

#### isStatisticsProvider

    @Deprecated
    public boolean isStatisticsProvider()

Deprecated.