Class FailedContext

    • Constructor Detail

      • FailedContext

        public FailedContext()
    • Method Detail

      • getConfigFile

        public java.net.URL getConfigFile()
        Description copied from interface: Context
        Return the URL of the XML descriptor for this context.
        Specified by:
        getConfigFile in interface Context
        Returns:
        The URL of the XML descriptor for this context
      • setConfigFile

        public void setConfigFile​(java.net.URL configFile)
        Description copied from interface: Context
        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.
      • getDocBase

        public java.lang.String getDocBase()
        Description copied from interface: Context
        Obtain the document root for this Context.
        Specified by:
        getDocBase in interface Context
        Returns:
        An absolute pathname or a relative (to the Host's appBase) pathname.
      • setDocBase

        public void setDocBase​(java.lang.String docBase)
        Description copied from interface: Context
        Set the document root for this Context. This can be either an absolute pathname or a relative pathname. Relative pathnames are relative to the containing Host's appBase.
        Specified by:
        setDocBase in interface Context
        Parameters:
        docBase - The new document root
      • getName

        public java.lang.String getName()
        Description copied from interface: Container
        Return a name string (suitable for use by humans) that describes this Container. Within the set of child containers belonging to a particular parent, Container names must be unique.
        Specified by:
        getName in interface Container
        Returns:
        The human readable name of this container.
      • setName

        public void setName​(java.lang.String name)
        Description copied from interface: Container
        Set a name string (suitable for use by humans) that describes this Container. Within the set of child containers belonging to a particular parent, Container names must be unique.
        Specified by:
        setName in interface Container
        Parameters:
        name - New name of this container
      • getParent

        public Container getParent()
        Description copied from interface: Container
        Get the parent container.
        Specified by:
        getParent in interface Container
        Returns:
        Return the Container for which this Container is a child, if there is one. If there is no defined parent, return null.
      • setParent

        public void setParent​(Container parent)
        Description copied from interface: Container
        Set the parent Container to which this Container is being added as a child. This Container may refuse to become attached to the specified Container by throwing an exception.
        Specified by:
        setParent in interface Container
        Parameters:
        parent - Container to which this Container is being added as a child
      • getPath

        public java.lang.String getPath()
        Specified by:
        getPath in interface Context
        Returns:
        the context path for this web application.
      • setPath

        public void setPath​(java.lang.String path)
        Description copied from interface: Context
        Set the context path for this web application.
        Specified by:
        setPath in interface Context
        Parameters:
        path - The new context path
      • getWebappVersion

        public java.lang.String getWebappVersion()
        Specified by:
        getWebappVersion in interface Context
        Returns:
        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.
      • setWebappVersion

        public void setWebappVersion​(java.lang.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
        Parameters:
        webappVersion - The webapp version associated with the context, which should be unique
      • getDomainInternal

        protected java.lang.String getDomainInternal()
        Description copied from class: LifecycleMBeanBase
        Method implemented by sub-classes to identify the domain in which MBeans should be registered.
        Specified by:
        getDomainInternal in class LifecycleMBeanBase
        Returns:
        The name of the domain to use to register MBeans.
      • getMBeanKeyProperties

        public java.lang.String getMBeanKeyProperties()
        Description copied from interface: Container
        Calculate the key properties string to be added to an object's ObjectName to indicate that it is associated with this container.
        Specified by:
        getMBeanKeyProperties in interface Container
        Returns:
        A string suitable for appending to the ObjectName
      • getObjectNameKeyProperties

        protected java.lang.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
      • addWatchedResource

        public void addWatchedResource​(java.lang.String name)
        Description copied from interface: Context
        Add a resource which will be watched for reloading by the host auto deployer. Note: this will not be used in embedded mode.
        Specified by:
        addWatchedResource in interface Context
        Parameters:
        name - Path to the resource, relative to docBase
      • findWatchedResources

        public java.lang.String[] findWatchedResources()
        Specified by:
        findWatchedResources in interface Context
        Returns:
        the set of watched resources for this Context. If none are defined, a zero length array will be returned.
      • removeWatchedResource

        public void removeWatchedResource​(java.lang.String name)
        Description copied from interface: Context
        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
      • addChild

        public void addChild​(Container child)
        Description copied from interface: Container
        Add a new child Container to those associated with this Container, if supported. Prior to adding this Container to the set of children, the child's setParent() method must be called, with this Container as an argument. This method may thrown an IllegalArgumentException if this Container chooses not to be attached to the specified Container, in which case it is not added
        Specified by:
        addChild in interface Container
        Parameters:
        child - New child Container to be added
      • findChild

        public Container findChild​(java.lang.String name)
        Description copied from interface: Container
        Obtain a child Container by name.
        Specified by:
        findChild in interface Container
        Parameters:
        name - Name of the child Container to be retrieved
        Returns:
        The child Container with the given name or null if no such child exists.
      • findChildren

        public Container[] findChildren()
        Description copied from interface: Container
        Obtain the child Containers associated with this Container.
        Specified by:
        findChildren in interface Container
        Returns:
        An array containing all children of this container. If this Container has no children, a zero-length array is returned.
      • removeChild

        public void removeChild​(Container child)
        Description copied from interface: Container
        Remove an existing child Container from association with this parent Container.
        Specified by:
        removeChild in interface Container
        Parameters:
        child - Existing child Container to be removed
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getLoader

        public Loader getLoader()
        Specified by:
        getLoader in interface Context
        Returns:
        the Loader with which this Context is associated.
      • setLoader

        public void setLoader​(Loader loader)
        Description copied from interface: Context
        Set the Loader with which this Context is associated.
        Specified by:
        setLoader in interface Context
        Parameters:
        loader - The newly associated loader
      • getLogger

        public Log getLogger()
        Description copied from interface: Container
        Obtain the log to which events for this container should be logged.
        Specified by:
        getLogger in interface Container
        Returns:
        The Logger with which this Container is associated. If there is no associated Logger, return the Logger associated with the parent Container (if any); otherwise return null.
      • getLogName

        public java.lang.String getLogName()
        Description copied from interface: Container
        Return the logger name that the container will use.
        Specified by:
        getLogName in interface Container
        Returns:
        the abbreviated name of this container for logging messages
      • getManager

        public Manager getManager()
        Specified by:
        getManager in interface Context
        Returns:
        the Manager with which this Context is associated. If there is no associated Manager, return null.
      • setManager

        public void setManager​(Manager manager)
        Description copied from interface: Context
        Set the Manager with which this Context is associated.
        Specified by:
        setManager in interface Context
        Parameters:
        manager - The newly associated Manager
      • getPipeline

        public Pipeline getPipeline()
        Description copied from interface: Container
        Return the Pipeline object that manages the Valves associated with this Container.
        Specified by:
        getPipeline in interface Container
        Returns:
        The Pipeline
      • getCluster

        public Cluster getCluster()
        Description copied from interface: Container
        Get the Cluster for this container.
        Specified by:
        getCluster in interface Container
        Returns:
        The Cluster with which this Container is associated. If there is no associated Cluster, return the Cluster associated with our parent Container (if any); otherwise return null.
      • setCluster

        public void setCluster​(Cluster cluster)
        Description copied from interface: Container
        Set the Cluster with which this Container is associated.
        Specified by:
        setCluster in interface Container
        Parameters:
        cluster - the Cluster with which this Container is associated.
      • getBackgroundProcessorDelay

        public int getBackgroundProcessorDelay()
        Description copied from interface: Container
        Get the delay between the invocation of the backgroundProcess method on this container and its children. Child containers will not be invoked if their delay value is positive (which would mean they are using their own thread). Setting this to a positive value will cause a thread to be spawned. After waiting the specified amount of time, the thread will invoke the Container.backgroundProcess() method on this container and all children with non-positive delay values.
        Specified by:
        getBackgroundProcessorDelay in interface Container
        Returns:
        The delay between the invocation of the backgroundProcess method on this container and its children. A non-positive value indicates that background processing will be managed by the parent.
      • setBackgroundProcessorDelay

        public void setBackgroundProcessorDelay​(int delay)
        Description copied from interface: Container
        Set the delay between the invocation of the execute method on this container and its children.
        Specified by:
        setBackgroundProcessorDelay in interface Container
        Parameters:
        delay - The delay in seconds between the invocation of backgroundProcess methods
      • setParentClassLoader

        public void setParentClassLoader​(java.lang.ClassLoader parent)
        Description copied from interface: Container
        Set the parent class loader for this component. For Contexts this call is meaningful only before a Loader has been configured, and the specified value (if non-null) should be passed as an argument to the class loader constructor.
        Specified by:
        setParentClassLoader in interface Container
        Parameters:
        parent - The new parent class loader
      • getRealm

        public Realm getRealm()
        Description copied from interface: Container
        Obtain the Realm with which this Container is associated.
        Specified by:
        getRealm in interface Container
        Returns:
        The associated Realm; if there is no associated Realm, the Realm associated with the parent Container (if any); otherwise return null.
      • setRealm

        public void setRealm​(Realm realm)
        Description copied from interface: Container
        Set the Realm with which this Container is associated.
        Specified by:
        setRealm in interface Container
        Parameters:
        realm - The newly associated Realm
      • setResources

        public void setResources​(WebResourceRoot resources)
        Description copied from interface: Context
        Set the Resources object with which this Context is associated.
        Specified by:
        setResources in interface Context
        Parameters:
        resources - The newly associated Resources
      • backgroundProcess

        public void backgroundProcess()
        Description copied from interface: Container
        Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.
        Specified by:
        backgroundProcess in interface Container
      • addContainerListener

        public void addContainerListener​(ContainerListener listener)
        Description copied from interface: Container
        Add a container event listener to this component.
        Specified by:
        addContainerListener in interface Container
        Parameters:
        listener - The listener to add
      • findContainerListeners

        public ContainerListener[] findContainerListeners()
        Description copied from interface: Container
        Obtain the container listeners associated with this Container.
        Specified by:
        findContainerListeners in interface Container
        Returns:
        An array containing the container listeners associated with this Container. If this Container has no registered container listeners, a zero-length array is returned.
      • removeContainerListener

        public void removeContainerListener​(ContainerListener listener)
        Description copied from interface: Container
        Remove a container event listener from this component.
        Specified by:
        removeContainerListener in interface Container
        Parameters:
        listener - The listener to remove
      • addPropertyChangeListener

        public void addPropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Description copied from interface: Container
        Add a property change listener to this component.
        Specified by:
        addPropertyChangeListener in interface Container
        Parameters:
        listener - The listener to add
      • removePropertyChangeListener

        public void removePropertyChangeListener​(java.beans.PropertyChangeListener listener)
        Description copied from interface: Container
        Remove a property change listener from this component.
        Specified by:
        removePropertyChangeListener in interface Container
        Parameters:
        listener - The listener to remove
      • fireContainerEvent

        public void fireContainerEvent​(java.lang.String type,
                                       java.lang.Object data)
        Description copied from interface: Container
        Notify all container event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.
        Specified by:
        fireContainerEvent in interface Container
        Parameters:
        type - Event type
        data - Event data
      • logAccess

        public void logAccess​(Request request,
                              Response response,
                              long time,
                              boolean useDefault)
        Description copied from interface: Container
        Log a request/response that was destined for this container but has been handled earlier in the processing chain so that the request/response still appears in the correct access logs.
        Specified by:
        logAccess in interface Container
        Parameters:
        request - Request (associated with the response) to log
        response - Response (associated with the request) to log
        time - Time taken to process the request/response in milliseconds (use 0 if not known)
        useDefault - Flag that indicates that the request/response should be logged in the engine's default access log
      • getAccessLog

        public AccessLog getAccessLog()
        Description copied from interface: Container
        Obtain the AccessLog to use to log a request/response that is destined for this container. This is typically used when the request/response was handled (and rejected) earlier in the processing chain so that the request/response still appears in the correct access logs.
        Specified by:
        getAccessLog in interface Container
        Returns:
        The AccessLog to use for a request/response destined for this container
      • getStartStopThreads

        public int getStartStopThreads()
        Description copied from interface: Container
        Obtain the number of threads available for starting and stopping any children associated with this container. This allows start/stop calls to children to be processed in parallel.
        Specified by:
        getStartStopThreads in interface Container
        Returns:
        The currently configured number of threads used to start/stop children associated with this container
      • setStartStopThreads

        public void setStartStopThreads​(int startStopThreads)
        Description copied from interface: Container
        Sets the number of threads available for starting and stopping any children associated with this container. This allows start/stop calls to children to be processed in parallel.
        Specified by:
        setStartStopThreads in interface Container
        Parameters:
        startStopThreads - The new number of threads to be used
      • getAllowCasualMultipartParsing

        public boolean getAllowCasualMultipartParsing()
        Description copied from interface: Context
        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.
      • setAllowCasualMultipartParsing

        public void setAllowCasualMultipartParsing​(boolean allowCasualMultipartParsing)
        Description copied from interface: Context
        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.
      • getApplicationEventListeners

        public java.lang.Object[] getApplicationEventListeners()
        Description copied from interface: Context
        Obtain the registered application event listeners.
        Specified by:
        getApplicationEventListeners in interface Context
        Returns:
        An array containing the application event listener instances for this web application in the order they were specified in the web application deployment descriptor
      • setApplicationEventListeners

        public void setApplicationEventListeners​(java.lang.Object[] listeners)
        Description copied from interface: Context
        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.
      • getApplicationLifecycleListeners

        public java.lang.Object[] getApplicationLifecycleListeners()
        Description copied from interface: Context
        Obtain the registered application lifecycle listeners.
        Specified by:
        getApplicationLifecycleListeners in interface Context
        Returns:
        An array containing the application lifecycle listener instances for this web application in the order they were specified in the web application deployment descriptor
      • setApplicationLifecycleListeners

        public void setApplicationLifecycleListeners​(java.lang.Object[] listeners)
        Description copied from interface: Context
        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.
      • getCharset

        public java.lang.String getCharset​(java.util.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
        Parameters:
        locale - The locale for which the mapped character set should be returned
        Returns:
        The name of the character set to use with the given Locale
      • getConfigured

        public boolean getConfigured()
        Description copied from interface: Context
        Return the "correctly configured" flag for this Context.
        Specified by:
        getConfigured in interface Context
        Returns:
        true if the Context has been correctly configured, otherwise false
      • setConfigured

        public void setConfigured​(boolean configured)
        Description copied from interface: Context
        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()
        Description copied from interface: Context
        Return the "use cookies for session ids" flag.
        Specified by:
        getCookies in interface Context
        Returns:
        true if it is permitted to use cookies to track session IDs for this web application, otherwise false
      • setCookies

        public void setCookies​(boolean cookies)
        Description copied from interface: Context
        Set the "use cookies for session ids" flag.
        Specified by:
        setCookies in interface Context
        Parameters:
        cookies - The new flag
      • getSessionCookieName

        public java.lang.String getSessionCookieName()
        Description copied from interface: Context
        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​(java.lang.String sessionCookieName)
        Description copied from interface: Context
        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()
        Description copied from interface: Context
        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)
        Description copied from interface: Context
        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 java.lang.String getSessionCookieDomain()
        Description copied from interface: Context
        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​(java.lang.String sessionCookieDomain)
        Description copied from interface: Context
        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 java.lang.String getSessionCookiePath()
        Description copied from interface: Context
        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​(java.lang.String sessionCookiePath)
        Description copied from interface: Context
        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()
        Description copied from interface: Context
        Return the "allow crossing servlet contexts" flag.
        Specified by:
        getCrossContext in interface Context
        Returns:
        true if cross-contest requests are allowed from this web applications, otherwise false
      • setCrossContext

        public void setCrossContext​(boolean crossContext)
        Description copied from interface: Context
        Set the "allow crossing servlet contexts" flag.
        Specified by:
        setCrossContext in interface Context
        Parameters:
        crossContext - The new cross contexts flag
      • getAltDDName

        public java.lang.String getAltDDName()
        Description copied from interface: Context
        Return the alternate Deployment Descriptor name.
        Specified by:
        getAltDDName in interface Context
        Returns:
        the name
      • setAltDDName

        public void setAltDDName​(java.lang.String altDDName)
        Description copied from interface: Context
        Set an alternate Deployment Descriptor name.
        Specified by:
        setAltDDName in interface Context
        Parameters:
        altDDName - The new name
      • getDenyUncoveredHttpMethods

        public boolean getDenyUncoveredHttpMethods()
        Description copied from interface: Context
        Return the deny-uncovered-http-methods flag for this web application.
        Specified by:
        getDenyUncoveredHttpMethods in interface Context
        Returns:
        The current value of the flag
      • setDenyUncoveredHttpMethods

        public void setDenyUncoveredHttpMethods​(boolean denyUncoveredHttpMethods)
        Description copied from interface: Context
        Set the deny-uncovered-http-methods flag for this web application.
        Specified by:
        setDenyUncoveredHttpMethods in interface Context
        Parameters:
        denyUncoveredHttpMethods - The new deny-uncovered-http-methods flag
      • getDisplayName

        public java.lang.String getDisplayName()
        Description copied from interface: Context
        Return the display name of this web application.
        Specified by:
        getDisplayName in interface Context
        Returns:
        The display name
      • setDisplayName

        public void setDisplayName​(java.lang.String displayName)
        Description copied from interface: Context
        Set the display name of this web application.
        Specified by:
        setDisplayName in interface Context
        Parameters:
        displayName - The new display name
      • getDistributable

        public boolean getDistributable()
        Description copied from interface: Context
        Get the distributable flag for this web application.
        Specified by:
        getDistributable in interface Context
        Returns:
        The value of the distributable flag for this web application.
      • setDistributable

        public void setDistributable​(boolean distributable)
        Description copied from interface: Context
        Set the distributable flag for this web application.
        Specified by:
        setDistributable in interface Context
        Parameters:
        distributable - The new distributable flag
      • getEncodedPath

        public java.lang.String getEncodedPath()
        Description copied from interface: Context
        Return the URL encoded context path
        Specified by:
        getEncodedPath in interface Context
        Returns:
        The URL encoded (with UTF-8) context path
      • getIgnoreAnnotations

        public boolean getIgnoreAnnotations()
        Description copied from interface: Context
        Determine if annotations parsing is currently disabled
        Specified by:
        getIgnoreAnnotations in interface Context
        Returns:
        true if annotation parsing is disabled for this web application
      • setIgnoreAnnotations

        public void setIgnoreAnnotations​(boolean ignoreAnnotations)
        Description copied from interface: Context
        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()
        Specified by:
        getLoginConfig in interface Context
        Returns:
        the login configuration descriptor for this web application.
      • setLoginConfig

        public void setLoginConfig​(LoginConfig config)
        Description copied from interface: Context
        Set the login configuration descriptor for this web application.
        Specified by:
        setLoginConfig in interface Context
        Parameters:
        config - The new login configuration
      • setNamingResources

        public void setNamingResources​(NamingResourcesImpl namingResources)
        Description copied from interface: Context
        Set the naming resources for this web application.
        Specified by:
        setNamingResources in interface Context
        Parameters:
        namingResources - The new naming resources
      • getPublicId

        public java.lang.String getPublicId()
        Specified by:
        getPublicId in interface Context
        Returns:
        the public identifier of the deployment descriptor DTD that is currently being parsed.
      • setPublicId

        public void setPublicId​(java.lang.String publicId)
        Description copied from interface: Context
        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()
        Specified by:
        getReloadable in interface Context
        Returns:
        the reloadable flag for this web application.
      • setReloadable

        public void setReloadable​(boolean reloadable)
        Description copied from interface: Context
        Set the reloadable flag for this web application.
        Specified by:
        setReloadable in interface Context
        Parameters:
        reloadable - The new reloadable flag
      • getOverride

        public boolean getOverride()
        Specified by:
        getOverride in interface Context
        Returns:
        the override flag for this web application.
      • setOverride

        public void setOverride​(boolean override)
        Description copied from interface: Context
        Set the override flag for this web application.
        Specified by:
        setOverride in interface Context
        Parameters:
        override - The new override flag
      • getPrivileged

        public boolean getPrivileged()
        Specified by:
        getPrivileged in interface Context
        Returns:
        the privileged flag for this web application.
      • setPrivileged

        public void setPrivileged​(boolean privileged)
        Description copied from interface: Context
        Set the privileged flag for this web application.
        Specified by:
        setPrivileged in interface Context
        Parameters:
        privileged - The new privileged flag
      • getSessionTimeout

        public int getSessionTimeout()
        Specified by:
        getSessionTimeout in interface Context
        Returns:
        the default session timeout (in minutes) for this web application.
      • setSessionTimeout

        public void setSessionTimeout​(int timeout)
        Description copied from interface: Context
        Set the default session timeout (in minutes) for this web application.
        Specified by:
        setSessionTimeout in interface Context
        Parameters:
        timeout - The new default session timeout
      • getSwallowAbortedUploads

        public boolean getSwallowAbortedUploads()
        Description copied from interface: Context
        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.
      • setSwallowAbortedUploads

        public void setSwallowAbortedUploads​(boolean swallowAbortedUploads)
        Description copied from interface: Context
        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).
      • getSwallowOutput

        public boolean getSwallowOutput()
        Specified by:
        getSwallowOutput in interface Context
        Returns:
        the value of the swallowOutput flag.
      • setSwallowOutput

        public void setSwallowOutput​(boolean swallowOutput)
        Description copied from interface: Context
        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
      • getWrapperClass

        public java.lang.String getWrapperClass()
        Specified by:
        getWrapperClass in interface Context
        Returns:
        the Java class name of the Wrapper implementation used for servlets registered in this Context.
      • setWrapperClass

        public void setWrapperClass​(java.lang.String wrapperClass)
        Description copied from interface: Context
        Set the Java class name of the Wrapper implementation used for servlets registered in this Context.
        Specified by:
        setWrapperClass in interface Context
        Parameters:
        wrapperClass - The new wrapper class
      • 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 xmlNamespaceAware)
        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:
        xmlNamespaceAware - true to enable namespace awareness
      • 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.
      • setXmlValidation

        public void setXmlValidation​(boolean xmlValidation)
        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:
        xmlValidation - true to enable xml validation
      • 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
      • 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
      • 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.
      • 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
      • 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.
      • 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
        Parameters:
        logEffectiveWebXml - set to true to log the complete web.xml that will be used for the webapp
      • 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
        Returns:
        true if the reconstructed web.xml that will be used for the webapp should be logged
      • addApplicationListener

        public void addApplicationListener​(java.lang.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
      • findApplicationListeners

        public java.lang.String[] findApplicationListeners()
        Specified by:
        findApplicationListeners in interface Context
        Returns:
        the set of application listener class names configured for this application.
      • removeApplicationListener

        public void removeApplicationListener​(java.lang.String listener)
        Description copied from interface: Context
        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
      • addApplicationParameter

        public void addApplicationParameter​(ApplicationParameter parameter)
        Description copied from interface: Context
        Add a new application parameter for this application.
        Specified by:
        addApplicationParameter in interface Context
        Parameters:
        parameter - The new application parameter
      • removeApplicationParameter

        public void removeApplicationParameter​(java.lang.String name)
        Description copied from interface: Context
        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
      • addConstraint

        public void addConstraint​(SecurityConstraint constraint)
        Description copied from interface: Context
        Add a security constraint to the set for this web application.
        Specified by:
        addConstraint in interface Context
        Parameters:
        constraint - The security constraint that should be added
      • findConstraints

        public SecurityConstraint[] findConstraints()
        Specified by:
        findConstraints in interface Context
        Returns:
        the set of security constraints for this web application. If there are none, a zero-length array is returned.
      • removeConstraint

        public void removeConstraint​(SecurityConstraint constraint)
        Description copied from interface: Context
        Remove the specified security constraint from this web application.
        Specified by:
        removeConstraint in interface Context
        Parameters:
        constraint - Constraint to be removed
      • addErrorPage

        public void addErrorPage​(ErrorPage errorPage)
        Description copied from interface: Context
        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
      • findErrorPage

        public ErrorPage findErrorPage​(int errorCode)
        Specified by:
        findErrorPage in interface Context
        Parameters:
        errorCode - Error code to look up
        Returns:
        the error page entry for the specified HTTP error code, if any; otherwise return null.
      • findErrorPage

        public ErrorPage findErrorPage​(java.lang.Throwable throwable)
        Description copied from interface: Context
        Find and return the ErrorPage instance for the specified exception's class, or an ErrorPage instance for the closest superclass for which there is such a definition. If no associated ErrorPage instance is found, return null.
        Specified by:
        findErrorPage in interface Context
        Parameters:
        throwable - The exception type for which to find an ErrorPage
        Returns:
        the error page entry for the specified Java exception type, if any; otherwise return null.
      • findErrorPages

        public ErrorPage[] findErrorPages()
        Specified by:
        findErrorPages in interface Context
        Returns:
        the set of defined error pages for all specified error codes and exception types.
      • removeErrorPage

        public void removeErrorPage​(ErrorPage errorPage)
        Description copied from interface: Context
        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
      • addFilterDef

        public void addFilterDef​(FilterDef filterDef)
        Description copied from interface: Context
        Add a filter definition to this Context.
        Specified by:
        addFilterDef in interface Context
        Parameters:
        filterDef - The filter definition to be added
      • findFilterDef

        public FilterDef findFilterDef​(java.lang.String filterName)
        Specified by:
        findFilterDef in interface Context
        Parameters:
        filterName - Filter name to look up
        Returns:
        the filter definition for the specified filter name, if any; otherwise return null.
      • findFilterDefs

        public FilterDef[] findFilterDefs()
        Specified by:
        findFilterDefs in interface Context
        Returns:
        the set of defined filters for this Context.
      • removeFilterDef

        public void removeFilterDef​(FilterDef filterDef)
        Description copied from interface: Context
        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
      • addFilterMap

        public void addFilterMap​(FilterMap filterMap)
        Description copied from interface: Context
        Add a filter mapping to this Context.
        Specified by:
        addFilterMap in interface Context
        Parameters:
        filterMap - The filter mapping to be added
      • addFilterMapBefore

        public void addFilterMapBefore​(FilterMap filterMap)
        Description copied from interface: Context
        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
      • findFilterMaps

        public FilterMap[] findFilterMaps()
        Specified by:
        findFilterMaps in interface Context
        Returns:
        the set of filter mappings for this Context.
      • removeFilterMap

        public void removeFilterMap​(FilterMap filterMap)
        Description copied from interface: Context
        Remove a filter mapping from this Context.
        Specified by:
        removeFilterMap in interface Context
        Parameters:
        filterMap - The filter mapping to be removed
      • addLocaleEncodingMappingParameter

        public void addLocaleEncodingMappingParameter​(java.lang.String locale,
                                                      java.lang.String encoding)
        Description copied from interface: Context
        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
      • addMimeMapping

        public void addMimeMapping​(java.lang.String extension,
                                   java.lang.String mimeType)
        Description copied from interface: Context
        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
      • findMimeMapping

        public java.lang.String findMimeMapping​(java.lang.String extension)
        Specified by:
        findMimeMapping in interface Context
        Parameters:
        extension - Extension to map to a MIME type
        Returns:
        the MIME type to which the specified extension is mapped, if any; otherwise return null.
      • findMimeMappings

        public java.lang.String[] findMimeMappings()
        Specified by:
        findMimeMappings in interface Context
        Returns:
        the extensions for which MIME mappings are defined. If there are none, a zero-length array is returned.
      • removeMimeMapping

        public void removeMimeMapping​(java.lang.String extension)
        Description copied from interface: Context
        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
      • addParameter

        public void addParameter​(java.lang.String name,
                                 java.lang.String value)
        Description copied from interface: Context
        Add a new context initialization parameter, replacing any existing value for the specified name.
        Specified by:
        addParameter in interface Context
        Parameters:
        name - Name of the new parameter
        value - Value of the new parameter
      • findParameter

        public java.lang.String findParameter​(java.lang.String name)
        Specified by:
        findParameter in interface Context
        Parameters:
        name - Name of the parameter to return
        Returns:
        the value for the specified context initialization parameter name, if any; otherwise return null.
      • findParameters

        public java.lang.String[] findParameters()
        Specified by:
        findParameters in interface Context
        Returns:
        the names of all defined context initialization parameters for this Context. If no parameters are defined, a zero-length array is returned.
      • removeParameter

        public void removeParameter​(java.lang.String name)
        Description copied from interface: Context
        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
      • addRoleMapping

        public void addRoleMapping​(java.lang.String role,
                                   java.lang.String link)
        Description copied from interface: Context
        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
      • findRoleMapping

        public java.lang.String findRoleMapping​(java.lang.String role)
        Description copied from interface: Context
        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
        Returns:
        The role name that was mapped to the specified role
      • removeRoleMapping

        public void removeRoleMapping​(java.lang.String role)
        Description copied from interface: Context
        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
      • addSecurityRole

        public void addSecurityRole​(java.lang.String role)
        Description copied from interface: Context
        Add a new security role for this web application.
        Specified by:
        addSecurityRole in interface Context
        Parameters:
        role - New security role
      • findSecurityRole

        public boolean findSecurityRole​(java.lang.String role)
        Specified by:
        findSecurityRole in interface Context
        Parameters:
        role - Security role to verify
        Returns:
        true if the specified security role is defined for this application; otherwise return false.
      • findSecurityRoles

        public java.lang.String[] findSecurityRoles()
        Specified by:
        findSecurityRoles in interface Context
        Returns:
        the security roles defined for this application. If none have been defined, a zero-length array is returned.
      • removeSecurityRole

        public void removeSecurityRole​(java.lang.String role)
        Description copied from interface: Context
        Remove any security role with the specified name.
        Specified by:
        removeSecurityRole in interface Context
        Parameters:
        role - Security role to remove
      • addServletMappingDecoded

        public void addServletMappingDecoded​(java.lang.String pattern,
                                             java.lang.String name,
                                             boolean jspWildcard)
        Description copied from interface: Context
        Add a new servlet mapping, replacing any existing mapping for the specified pattern.
        Specified by:
        addServletMappingDecoded 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
      • findServletMapping

        public java.lang.String findServletMapping​(java.lang.String pattern)
        Specified by:
        findServletMapping in interface Context
        Parameters:
        pattern - Pattern for which a mapping is requested
        Returns:
        the servlet name mapped by the specified pattern (if any); otherwise return null.
      • findServletMappings

        public java.lang.String[] findServletMappings()
        Specified by:
        findServletMappings in interface Context
        Returns:
        the patterns of all defined servlet mappings for this Context. If no mappings are defined, a zero-length array is returned.
      • removeServletMapping

        public void removeServletMapping​(java.lang.String pattern)
        Description copied from interface: Context
        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
      • addWelcomeFile

        public void addWelcomeFile​(java.lang.String name)
        Description copied from interface: Context
        Add a new welcome file to the set recognized by this Context.
        Specified by:
        addWelcomeFile in interface Context
        Parameters:
        name - New welcome file name
      • findWelcomeFile

        public boolean findWelcomeFile​(java.lang.String name)
        Specified by:
        findWelcomeFile in interface Context
        Parameters:
        name - Welcome file to verify
        Returns:
        true if the specified welcome file is defined for this Context; otherwise return false.
      • findWelcomeFiles

        public java.lang.String[] findWelcomeFiles()
        Specified by:
        findWelcomeFiles in interface Context
        Returns:
        the set of welcome files defined for this Context. If none are defined, a zero-length array is returned.
      • removeWelcomeFile

        public void removeWelcomeFile​(java.lang.String name)
        Description copied from interface: Context
        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
      • addWrapperLifecycle

        public void addWrapperLifecycle​(java.lang.String listener)
        Description copied from interface: Context
        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
      • findWrapperLifecycles

        public java.lang.String[] findWrapperLifecycles()
        Specified by:
        findWrapperLifecycles in interface Context
        Returns:
        the set of LifecycleListener classes that will be added to newly created Wrappers automatically.
      • removeWrapperLifecycle

        public void removeWrapperLifecycle​(java.lang.String listener)
        Description copied from interface: Context
        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
      • addWrapperListener

        public void addWrapperListener​(java.lang.String listener)
        Description copied from interface: Context
        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
      • findWrapperListeners

        public java.lang.String[] findWrapperListeners()
        Specified by:
        findWrapperListeners in interface Context
        Returns:
        the set of ContainerListener classes that will be added to newly created Wrappers automatically.
      • removeWrapperListener

        public void removeWrapperListener​(java.lang.String listener)
        Description copied from interface: Context
        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
      • createInstanceManager

        public InstanceManager createInstanceManager()
        Description copied from interface: Context
        Factory method to create and return a new InstanceManager instance. This can be used for framework integration or easier configuration with custom Context implementations.
        Specified by:
        createInstanceManager in interface Context
        Returns:
        the instance manager
      • createWrapper

        public Wrapper createWrapper()
        Description copied from interface: Context
        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
        Returns:
        a newly created wrapper instance that is used to wrap a Servlet
      • fireRequestInitEvent

        public boolean fireRequestInitEvent​(ServletRequest request)
        Description copied from interface: Context
        Notify all ServletRequestListeners that a request has started.
        Specified by:
        fireRequestInitEvent in interface Context
        Parameters:
        request - The request object that will be passed to the listener
        Returns:
        true if the listeners fire successfully, else false
      • fireRequestDestroyEvent

        public boolean fireRequestDestroyEvent​(ServletRequest request)
        Description copied from interface: Context
        Notify all ServletRequestListeners that a request has ended.
        Specified by:
        fireRequestDestroyEvent in interface Context
        Parameters:
        request - The request object that will be passed to the listener
        Returns:
        true if the listeners fire successfully, else false
      • reload

        public void reload()
        Description copied from interface: Context
        Reload this web application, if reloading is supported.
        Specified by:
        reload in interface Context
      • getRealPath

        public java.lang.String getRealPath​(java.lang.String path)
        Specified by:
        getRealPath in interface Context
        Parameters:
        path - The path to the desired resource
        Returns:
        the real path for a given virtual path, if possible; otherwise return null.
      • getEffectiveMajorVersion

        public int getEffectiveMajorVersion()
        Specified by:
        getEffectiveMajorVersion in interface Context
        Returns:
        the effective major version of the Servlet spec used by this context.
      • setEffectiveMajorVersion

        public void setEffectiveMajorVersion​(int major)
        Description copied from interface: Context
        Set the effective major version of the Servlet spec used by this context.
        Specified by:
        setEffectiveMajorVersion in interface Context
        Parameters:
        major - Set the version number
      • getEffectiveMinorVersion

        public int getEffectiveMinorVersion()
        Specified by:
        getEffectiveMinorVersion in interface Context
        Returns:
        the effective minor version of the Servlet spec used by this context.
      • setEffectiveMinorVersion

        public void setEffectiveMinorVersion​(int minor)
        Description copied from interface: Context
        Set the effective minor version of the Servlet spec used by this context.
        Specified by:
        setEffectiveMinorVersion in interface Context
        Parameters:
        minor - Set the version number
      • setJspConfigDescriptor

        public void setJspConfigDescriptor​(JspConfigDescriptor descriptor)
        Description copied from interface: Context
        Set the JspConfigDescriptor for this context. A null value indicates there is not JSP configuration.
        Specified by:
        setJspConfigDescriptor in interface Context
        Parameters:
        descriptor - the new JSP configuration
      • addServletContainerInitializer

        public void addServletContainerInitializer​(ServletContainerInitializer sci,
                                                   java.util.Set<java.lang.Class<?>> classes)
        Description copied from interface: Context
        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
      • getPaused

        public boolean getPaused()
        Description copied from interface: Context
        Is this Context paused whilst it is reloaded?
        Specified by:
        getPaused in interface Context
        Returns:
        true if the context has been paused
      • isServlet22

        public boolean isServlet22()
        Description copied from interface: Context
        Is this context using version 2.2 of the Servlet spec?
        Specified by:
        isServlet22 in interface Context
        Returns:
        true for a legacy Servlet 2.2 webapp
      • addServletSecurity

        public java.util.Set<java.lang.String> addServletSecurity​(ServletRegistration.Dynamic 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
      • setResourceOnlyServlets

        public void setResourceOnlyServlets​(java.lang.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
        Parameters:
        resourceOnlyServlets - The Servlet names comma separated list
      • getResourceOnlyServlets

        public java.lang.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
      • isResourceOnlyServlet

        public boolean isResourceOnlyServlet​(java.lang.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
      • getBaseName

        public java.lang.String getBaseName()
        Specified by:
        getBaseName in interface Context
        Returns:
        the base name to use for WARs, directories or context.xml files for this 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
        Parameters:
        enable - true to fire request listeners when forwarding
      • getFireRequestListenersOnForwards

        public boolean getFireRequestListenersOnForwards()
        Specified by:
        getFireRequestListenersOnForwards in interface Context
        Returns:
        whether or not requests listeners will be fired on forwards for this Context.
      • setPreemptiveAuthentication

        public void setPreemptiveAuthentication​(boolean enable)
        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
        Parameters:
        enable - true to perform authentication even outside security constraints
      • getPreemptiveAuthentication

        public boolean getPreemptiveAuthentication()
        Specified by:
        getPreemptiveAuthentication in interface Context
        Returns:
        if a user presents authentication credentials, will the context will process them when the request is for a non-protected resource.
      • setSendRedirectBody

        public void setSendRedirectBody​(boolean enable)
        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
        Parameters:
        enable - true to send a response body for redirects
      • getSendRedirectBody

        public boolean getSendRedirectBody()
        Specified by:
        getSendRedirectBody in interface Context
        Returns:
        if the context is configured to include a response body as part of a redirect response.
      • addValve

        public void addValve​(Valve valve)
      • getCatalinaBase

        public java.io.File getCatalinaBase()
        Description copied from interface: Container
        Obtain the location of CATALINA_BASE.
        Specified by:
        getCatalinaBase in interface Container
        Returns:
        The location of CATALINA_BASE.
      • getCatalinaHome

        public java.io.File getCatalinaHome()
        Description copied from interface: Container
        Obtain the location of CATALINA_HOME.
        Specified by:
        getCatalinaHome in interface Container
        Returns:
        The location of CATALINA_HOME.
      • setAddWebinfClassesResources

        public void setAddWebinfClassesResources​(boolean addWebinfClassesResources)
        Description copied from interface: Context
        Sets the flag that indicates if /WEB-INF/classes should be treated like an exploded JAR and JAR resources made available as if they were in a JAR.
        Specified by:
        setAddWebinfClassesResources in interface Context
        Parameters:
        addWebinfClassesResources - The new value for the flag
      • getAddWebinfClassesResources

        public boolean getAddWebinfClassesResources()
        Specified by:
        getAddWebinfClassesResources in interface Context
        Returns:
        the flag that indicates if /WEB-INF/classes should be treated like an exploded JAR and JAR resources made available as if they were in a JAR.
      • addPostConstructMethod

        public void addPostConstructMethod​(java.lang.String clazz,
                                           java.lang.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
      • addPreDestroyMethod

        public void addPreDestroyMethod​(java.lang.String clazz,
                                        java.lang.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
      • removePostConstructMethod

        public void removePostConstructMethod​(java.lang.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
      • removePreDestroyMethod

        public void removePreDestroyMethod​(java.lang.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 java.lang.String findPostConstructMethod​(java.lang.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 java.lang.String findPreDestroyMethod​(java.lang.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 java.util.Map<java.lang.String,​java.lang.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 java.util.Map<java.lang.String,​java.lang.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.
      • 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
        Parameters:
        instanceManager - the new instance manager instance
      • setContainerSciFilter

        public void setContainerSciFilter​(java.lang.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 java.lang.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
      • setThreadBindingListener

        public void setThreadBindingListener​(ThreadBindingListener threadBindingListener)
        Description copied from interface: Context
        Get the associated ThreadBindingListener.
        Specified by:
        setThreadBindingListener in interface Context
        Parameters:
        threadBindingListener - Set the listener that will receive notifications when entering and exiting the application scope
      • bind

        public java.lang.ClassLoader bind​(boolean usePrivilegedAction,
                                          java.lang.ClassLoader originalClassLoader)
        Description copied from interface: ContextBind
        Change the current thread context class loader to the web application class loader. If no web application class loader is defined, or if the current thread is already using the web application class loader then no change will be made. If the class loader is changed and a ThreadBindingListener is configured then ThreadBindingListener.bind() will be called after the change has been made.
        Specified by:
        bind in interface ContextBind
        Parameters:
        usePrivilegedAction - Should a PrivilegedAction be used when obtaining the current thread context class loader and setting the new one?
        originalClassLoader - The current class loader if known to save this method having to look it up
        Returns:
        If the class loader has been changed by the method it will return the thread context class loader in use when the method was called. If no change was made then this method returns null.
      • unbind

        public void unbind​(boolean usePrivilegedAction,
                           java.lang.ClassLoader originalClassLoader)
        Description copied from interface: ContextBind
        Restore the current thread context class loader to the original class loader in used before ContextBind.bind(boolean, ClassLoader) was called. If no original class loader is passed to this method then no change will be made. If the class loader is changed and a ThreadBindingListener is configured then ThreadBindingListener.unbind() will be called before the change is made.
        Specified by:
        unbind in interface ContextBind
        Parameters:
        usePrivilegedAction - Should a PrivilegedAction be used when setting the current thread context class loader?
        originalClassLoader - The class loader to restore as the thread context class loader
      • getNamingToken

        public java.lang.Object getNamingToken()
        Specified by:
        getNamingToken in interface Context
        Returns:
        the token necessary for operations on the associated JNDI naming context.
      • setCookieProcessor

        public void setCookieProcessor​(CookieProcessor cookieProcessor)
        Description copied from interface: Context
        Sets the CookieProcessor that will be used to process cookies for this Context.
        Specified by:
        setCookieProcessor in interface Context
        Parameters:
        cookieProcessor - The new cookie processor
      • setValidateClientProvidedNewSessionId

        public void setValidateClientProvidedNewSessionId​(boolean validateClientProvidedNewSessionId)
        Description copied from interface: Context
        When a client provides the ID for a new session, should that ID be validated? The only use case for using a client provided session ID is to have a common session ID across multiple web applications. Therefore, any client provided session ID should already exist in another web application. If this check is enabled, the client provided session ID will only be used if the session ID exists in at least one other web application for the current host. Note that the following additional tests are always applied, irrespective of this setting:
        • The session ID is provided by a cookie
        • The session cookie has a path of /
        Specified by:
        setValidateClientProvidedNewSessionId in interface Context
        Parameters:
        validateClientProvidedNewSessionId - true if validation should be applied
      • setMapperContextRootRedirectEnabled

        public void setMapperContextRootRedirectEnabled​(boolean mapperContextRootRedirectEnabled)
        Description copied from interface: Context
        If enabled, requests for a web application context root will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the context path is valid.
        Specified by:
        setMapperContextRootRedirectEnabled in interface Context
        Parameters:
        mapperContextRootRedirectEnabled - Should the redirects be enabled?
      • getMapperContextRootRedirectEnabled

        public boolean getMapperContextRootRedirectEnabled()
        Description copied from interface: Context
        Determines if requests for a web application context root will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the context path is valid.
        Specified by:
        getMapperContextRootRedirectEnabled in interface Context
        Returns:
        true if the Mapper level redirect is enabled for this Context.
      • setMapperDirectoryRedirectEnabled

        public void setMapperDirectoryRedirectEnabled​(boolean mapperDirectoryRedirectEnabled)
        Description copied from interface: Context
        If enabled, requests for a directory will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the directory is valid.
        Specified by:
        setMapperDirectoryRedirectEnabled in interface Context
        Parameters:
        mapperDirectoryRedirectEnabled - Should the redirects be enabled?
      • getMapperDirectoryRedirectEnabled

        public boolean getMapperDirectoryRedirectEnabled()
        Description copied from interface: Context
        Determines if requests for a directory will be redirected (adding a trailing slash) by the Mapper. This is more efficient but has the side effect of confirming that the directory is valid.
        Specified by:
        getMapperDirectoryRedirectEnabled in interface Context
        Returns:
        true if the Mapper level redirect is enabled for this Context.
      • setUseRelativeRedirects

        public void setUseRelativeRedirects​(boolean useRelativeRedirects)
        Description copied from interface: Context
        Controls whether HTTP 1.1 and later location headers generated by a call to HttpServletResponse.sendRedirect(String) will use relative or absolute redirects.

        Relative redirects are more efficient but may not work with reverse proxies that change the context path. It should be noted that it is not recommended to use a reverse proxy to change the context path because of the multiple issues it creates.

        Absolute redirects should work with reverse proxies that change the context path but may cause issues with the RemoteIpFilter if the filter is changing the scheme and/or port.

        Specified by:
        setUseRelativeRedirects in interface Context
        Parameters:
        useRelativeRedirects - true to use relative redirects and false to use absolute redirects
      • setDispatchersUseEncodedPaths

        public void setDispatchersUseEncodedPaths​(boolean dispatchersUseEncodedPaths)
        Description copied from interface: Context
        Are paths used in calls to obtain a request dispatcher expected to be encoded? This affects both how Tomcat handles calls to obtain a request dispatcher as well as how Tomcat generates paths used to obtain request dispatchers internally.
        Specified by:
        setDispatchersUseEncodedPaths in interface Context
        Parameters:
        dispatchersUseEncodedPaths - true to use encoded paths, otherwise false
      • getDispatchersUseEncodedPaths

        public boolean getDispatchersUseEncodedPaths()
        Description copied from interface: Context
        Are paths used in calls to obtain a request dispatcher expected to be encoded? This applies to both how Tomcat handles calls to obtain a request dispatcher as well as how Tomcat generates paths used to obtain request dispatchers internally.
        Specified by:
        getDispatchersUseEncodedPaths in interface Context
        Returns:
        true if encoded paths will be used, otherwise false
      • setRequestCharacterEncoding

        public void setRequestCharacterEncoding​(java.lang.String encoding)
        Description copied from interface: Context
        Set the default request body encoding for this web application.
        Specified by:
        setRequestCharacterEncoding in interface Context
        Parameters:
        encoding - The default encoding
      • getRequestCharacterEncoding

        public java.lang.String getRequestCharacterEncoding()
        Description copied from interface: Context
        Get the default request body encoding for this web application.
        Specified by:
        getRequestCharacterEncoding in interface Context
        Returns:
        The default request body encoding
      • setResponseCharacterEncoding

        public void setResponseCharacterEncoding​(java.lang.String encoding)
        Description copied from interface: Context
        Set the default response body encoding for this web application.
        Specified by:
        setResponseCharacterEncoding in interface Context
        Parameters:
        encoding - The default encoding
      • getResponseCharacterEncoding

        public java.lang.String getResponseCharacterEncoding()
        Description copied from interface: Context
        Get the default response body encoding for this web application.
        Specified by:
        getResponseCharacterEncoding in interface Context
        Returns:
        The default response body encoding
      • setAllowMultipleLeadingForwardSlashInPath

        public void setAllowMultipleLeadingForwardSlashInPath​(boolean allowMultipleLeadingForwardSlashInPath)
        Description copied from interface: Context
        Configure if, when returning a context path from HttpServletRequest.getContextPath(), the return value is allowed to contain multiple leading '/' characters.
        Specified by:
        setAllowMultipleLeadingForwardSlashInPath in interface Context
        Parameters:
        allowMultipleLeadingForwardSlashInPath - The new value for the flag
      • setCreateUploadTargets

        public void setCreateUploadTargets​(boolean createUploadTargets)
        Description copied from interface: Context
        Configure whether Tomcat will attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it.
        Specified by:
        setCreateUploadTargets in interface Context
        Parameters:
        createUploadTargets - true if Tomcat should attempt to create the upload target, otherwise false
      • getCreateUploadTargets

        public boolean getCreateUploadTargets()
        Description copied from interface: Context
        Will Tomcat attempt to create an upload target used by this web application if it does not exist when the web application attempts to use it?
        Specified by:
        getCreateUploadTargets in interface Context
        Returns:
        true if Tomcat will attempt to create an upload target otherwise false
      • getAlwaysAccessSession

        public boolean getAlwaysAccessSession()
        Description copied from interface: Context
        If this is true, every request that is associated with a session will cause the session's last accessed time to be updated regardless of whether or not the request explicitly accesses the session. If org.apache.catalina.STRICT_SERVLET_COMPLIANCE is set to true, the default of this setting will be true, else the default value will be false.
        Specified by:
        getAlwaysAccessSession in interface Context
        Returns:
        the flag value
      • setAlwaysAccessSession

        public void setAlwaysAccessSession​(boolean alwaysAccessSession)
        Description copied from interface: Context
        Set the session access behavior.
        Specified by:
        setAlwaysAccessSession in interface Context
        Parameters:
        alwaysAccessSession - the new flag value
      • getContextGetResourceRequiresSlash

        public boolean getContextGetResourceRequiresSlash()
        Description copied from interface: Context
        If this is true then the path passed to ServletContext.getResource() or ServletContext.getResourceAsStream() must start with "/". If false, code like getResource("myfolder/myresource.txt") will work as Tomcat will prepend "/" to the provided path. If org.apache.catalina.STRICT_SERVLET_COMPLIANCE is set to true, the default of this setting will be true, else the default value will be false.
        Specified by:
        getContextGetResourceRequiresSlash in interface Context
        Returns:
        the flag value
      • setContextGetResourceRequiresSlash

        public void setContextGetResourceRequiresSlash​(boolean contextGetResourceRequiresSlash)
        Description copied from interface: Context
        Allow using ServletContext.getResource() or ServletContext.getResourceAsStream() without a leading "/".
        Specified by:
        setContextGetResourceRequiresSlash in interface Context
        Parameters:
        contextGetResourceRequiresSlash - the new flag value
      • getDispatcherWrapsSameObject

        public boolean getDispatcherWrapsSameObject()
        Description copied from interface: Context
        If this is true then any wrapped request or response object passed to an application dispatcher will be checked to ensure that it has wrapped the original request or response. If org.apache.catalina.STRICT_SERVLET_COMPLIANCE is set to true, the default of this setting will be true, else the default value will be false.
        Specified by:
        getDispatcherWrapsSameObject in interface Context
        Returns:
        the flag value
      • setDispatcherWrapsSameObject

        public void setDispatcherWrapsSameObject​(boolean dispatcherWrapsSameObject)
        Description copied from interface: Context
        Allow disabling the object wrap check in the request dispatcher.
        Specified by:
        setDispatcherWrapsSameObject in interface Context
        Parameters:
        dispatcherWrapsSameObject - the new flag value
      • getParallelAnnotationScanning

        public boolean getParallelAnnotationScanning()
        Specified by:
        getParallelAnnotationScanning in interface Context
        Returns:
        the value of the parallel annotation scanning flag. If true, it will dispatch scanning to the utility executor.
      • setParallelAnnotationScanning

        public void setParallelAnnotationScanning​(boolean parallelAnnotationScanning)
        Description copied from interface: Context
        Set the parallel annotation scanning value.
        Specified by:
        setParallelAnnotationScanning in interface Context
        Parameters:
        parallelAnnotationScanning - new parallel annotation scanning flag
      • getUseBloomFilterForArchives

        public boolean getUseBloomFilterForArchives()
        Specified by:
        getUseBloomFilterForArchives in interface Context
        Returns:
        true if the resources archive lookup will use a bloom filter.
      • setUseBloomFilterForArchives

        public void setUseBloomFilterForArchives​(boolean useBloomFilterForArchives)
        Description copied from interface: Context
        Set bloom filter flag value.
        Specified by:
        setUseBloomFilterForArchives in interface Context
        Parameters:
        useBloomFilterForArchives - The new fast class path scan flag