Apache Tomcat 7.0.28

org.apache.catalina
Interface Wrapper

All Superinterfaces:
Container, Lifecycle
All Known Implementing Classes:
StandardWrapper, Tomcat.ExistingStandardWrapper

public interface Wrapper
extends Container

A Wrapper is a Container that represents an individual servlet definition from the deployment descriptor of the web application. It provides a convenient mechanism to use Interceptors that see every single request to the servlet represented by this definition.

Implementations of Wrapper are responsible for managing the servlet life cycle for their underlying servlet class, including calling init() and destroy() at appropriate times, as well as respecting the existence of the SingleThreadModel declaration on the servlet class itself.

The parent Container attached to a Wrapper will generally be an implementation of Context, representing the servlet context (and therefore the web application) within which this servlet executes.

Child Containers are not allowed on Wrapper implementations, so the addChild() method should throw an IllegalArgumentException.

Version:
$Id: Wrapper.java 1200163 2011-11-10 05:40:04Z kkolinko $
Author:
Craig R. McClanahan

Field Summary
static String ADD_MAPPING_EVENT
          Container event for adding a wrapper.
static String REMOVE_MAPPING_EVENT
          Container event for removing a wrapper.
 
Fields inherited from interface org.apache.catalina.Container
ADD_CHILD_EVENT, ADD_MAPPER_EVENT, ADD_VALVE_EVENT, REMOVE_CHILD_EVENT, REMOVE_MAPPER_EVENT, REMOVE_VALVE_EVENT
 
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
 
Method Summary
 void addInitParameter(String name, String value)
          Add a new servlet initialization parameter for this servlet.
 void addInstanceListener(InstanceListener listener)
          Add a new listener interested in InstanceEvents.
 void addMapping(String mapping)
          Add a mapping associated with the Wrapper.
 void addSecurityReference(String name, String link)
          Add a new security role reference record to the set of records for this servlet.
 Servlet allocate()
          Allocate an initialized instance of this Servlet that is ready to have its service() method called.
 void deallocate(Servlet servlet)
          Return this previously allocated servlet to the pool of available instances.
 String findInitParameter(String name)
          Return the value for the specified initialization parameter name, if any; otherwise return null.
 String[] findInitParameters()
          Return the names of all defined initialization parameters for this servlet.
 String[] findMappings()
          Return the mappings associated with this wrapper.
 String findSecurityReference(String name)
          Return the security role link for the specified security role reference name, if any; otherwise return null.
 String[] findSecurityReferences()
          Return the set of security role reference names associated with this servlet, if any; otherwise return a zero-length array.
 long getAvailable()
          Return the available date/time for this servlet, in milliseconds since the epoch.
 int getLoadOnStartup()
          Return the load-on-startup order value (negative value means load on first call).
 MultipartConfigElement getMultipartConfigElement()
          Get the multi-part configuration for the associated servlet.
 String getRunAs()
          Return the run-as identity for this servlet.
 Servlet getServlet()
          Return the associated servlet instance.
 String getServletClass()
          Return the fully qualified servlet class name for this servlet.
 String[] getServletMethods()
          Gets the names of the methods supported by the underlying servlet.
 void incrementErrorCount()
          Increment the error count value used when monitoring.
 boolean isAsyncSupported()
          Does the associated Servlet support async processing?
 boolean isEnabled()
          Is the associated Servlet enabled?
 boolean isOverridable()
          Is the Servlet overridable by a ServletContainerInitializer?
 boolean isUnavailable()
          Is this servlet currently unavailable?
 void load()
          Load and initialize an instance of this servlet, if there is not already at least one initialized instance.
 void removeInitParameter(String name)
          Remove the specified initialization parameter from this servlet.
 void removeInstanceListener(InstanceListener listener)
          Remove a listener no longer interested in InstanceEvents.
 void removeMapping(String mapping)
          Remove a mapping associated with the wrapper.
 void removeSecurityReference(String name)
          Remove any security role reference for the specified role name.
 void servletSecurityAnnotationScan()
          Scan for (if necessary) and process (if found) the ServletSecurity annotations for the Servlet associated with this wrapper.
 void setAsyncSupported(boolean asyncSupport)
          Set the async support for the associated servlet.
 void setAvailable(long available)
          Set the available date/time for this servlet, in milliseconds since the epoch.
 void setEnabled(boolean enabled)
          Sets the enabled attribute for the associated servlet.
 void setLoadOnStartup(int value)
          Set the load-on-startup order value (negative value means load on first call).
 void setMultipartConfigElement(MultipartConfigElement multipartConfig)
          Set the multi-part configuration for the associated servlet.
 void setOverridable(boolean overridable)
          Sets the overridable attribute for this Servlet.
 void setRunAs(String runAs)
          Set the run-as identity for this servlet.
 void setServlet(Servlet servlet)
          Set the associated servlet instance
 void setServletClass(String servletClass)
          Set the fully qualified servlet class name for this servlet.
 void setServletSecurityAnnotationScanRequired(boolean b)
          Set the flag that indicates ServletSecurity annotations must be scanned when the Servlet is first used.
 void unavailable(UnavailableException unavailable)
          Process an UnavailableException, marking this servlet as unavailable for the specified amount of time.
 void unload()
          Unload all initialized instances of this servlet, after calling the destroy() method for each instance.
 
Methods inherited from interface org.apache.catalina.Container
addChild, addContainerListener, addPropertyChangeListener, backgroundProcess, findChild, findChildren, findContainerListeners, fireContainerEvent, getAccessLog, getBackgroundProcessorDelay, getCluster, getInfo, getLoader, getLogger, getManager, getMappingObject, getName, getObjectName, getParent, getParentClassLoader, getPipeline, getRealm, getResources, getStartStopThreads, invoke, logAccess, removeChild, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setLoader, setManager, setName, setParent, setParentClassLoader, setRealm, setResources, setStartStopThreads
 
Methods inherited from interface org.apache.catalina.Lifecycle
addLifecycleListener, destroy, findLifecycleListeners, getState, getStateName, init, removeLifecycleListener, start, stop
 

Field Detail

ADD_MAPPING_EVENT

static final String ADD_MAPPING_EVENT
Container event for adding a wrapper.

See Also:
Constant Field Values

REMOVE_MAPPING_EVENT

static final String REMOVE_MAPPING_EVENT
Container event for removing a wrapper.

See Also:
Constant Field Values
Method Detail

getAvailable

long getAvailable()
Return the available date/time for this servlet, in milliseconds since the epoch. If this date/time is in the future, any request for this servlet will return an SC_SERVICE_UNAVAILABLE error. If it is zero, the servlet is currently available. A value equal to Long.MAX_VALUE is considered to mean that unavailability is permanent.


setAvailable

void setAvailable(long available)
Set the available date/time for this servlet, in milliseconds since the epoch. If this date/time is in the future, any request for this servlet will return an SC_SERVICE_UNAVAILABLE error. A value equal to Long.MAX_VALUE is considered to mean that unavailability is permanent.

Parameters:
available - The new available date/time

getLoadOnStartup

int getLoadOnStartup()
Return the load-on-startup order value (negative value means load on first call).


setLoadOnStartup

void setLoadOnStartup(int value)
Set the load-on-startup order value (negative value means load on first call).

Parameters:
value - New load-on-startup value

getRunAs

String getRunAs()
Return the run-as identity for this servlet.


setRunAs

void setRunAs(String runAs)
Set the run-as identity for this servlet.

Parameters:
runAs - New run-as identity value

getServletClass

String getServletClass()
Return the fully qualified servlet class name for this servlet.


setServletClass

void setServletClass(String servletClass)
Set the fully qualified servlet class name for this servlet.

Parameters:
servletClass - Servlet class name

getServletMethods

String[] getServletMethods()
                           throws ServletException
Gets the names of the methods supported by the underlying servlet. This is the same set of methods included in the Allow response header in response to an OPTIONS request method processed by the underlying servlet.

Returns:
Array of names of the methods supported by the underlying servlet
Throws:
ServletException

isUnavailable

boolean isUnavailable()
Is this servlet currently unavailable?


getServlet

Servlet getServlet()
Return the associated servlet instance.


setServlet

void setServlet(Servlet servlet)
Set the associated servlet instance


addInitParameter

void addInitParameter(String name,
                      String value)
Add a new servlet initialization parameter for this servlet.

Parameters:
name - Name of this initialization parameter to add
value - Value of this initialization parameter to add

addInstanceListener

void addInstanceListener(InstanceListener listener)
Add a new listener interested in InstanceEvents.

Parameters:
listener - The new listener

addMapping

void addMapping(String mapping)
Add a mapping associated with the Wrapper.

Parameters:
mapping - The new wrapper mapping

addSecurityReference

void addSecurityReference(String name,
                          String link)
Add a new security role reference record to the set of records for this servlet.

Parameters:
name - Role name used within this servlet
link - Role name used within the web application

allocate

Servlet allocate()
                 throws ServletException
Allocate an initialized instance of this Servlet that is ready to have its service() method called. If the servlet class does not implement SingleThreadModel, the (only) initialized instance may be returned immediately. If the servlet class implements SingleThreadModel, the Wrapper implementation must ensure that this instance is not allocated again until it is deallocated by a call to deallocate().

Throws:
ServletException - if the servlet init() method threw an exception
ServletException - if a loading error occurs

deallocate

void deallocate(Servlet servlet)
                throws ServletException
Return this previously allocated servlet to the pool of available instances. If this servlet class does not implement SingleThreadModel, no action is actually required.

Parameters:
servlet - The servlet to be returned
Throws:
ServletException - if a deallocation error occurs

findInitParameter

String findInitParameter(String name)
Return the value for the specified initialization parameter name, if any; otherwise return null.

Parameters:
name - Name of the requested initialization parameter

findInitParameters

String[] findInitParameters()
Return the names of all defined initialization parameters for this servlet.


findMappings

String[] findMappings()
Return the mappings associated with this wrapper.


findSecurityReference

String findSecurityReference(String name)
Return the security role link for the specified security role reference name, if any; otherwise return null.

Parameters:
name - Security role reference used within this servlet

findSecurityReferences

String[] findSecurityReferences()
Return the set of security role reference names associated with this servlet, if any; otherwise return a zero-length array.


incrementErrorCount

void incrementErrorCount()
Increment the error count value used when monitoring.


load

void load()
          throws ServletException
Load and initialize an instance of this servlet, if there is not already at least one initialized instance. This can be used, for example, to load servlets that are marked in the deployment descriptor to be loaded at server startup time.

Throws:
ServletException - if the servlet init() method threw an exception
ServletException - if some other loading problem occurs

removeInitParameter

void removeInitParameter(String name)
Remove the specified initialization parameter from this servlet.

Parameters:
name - Name of the initialization parameter to remove

removeInstanceListener

void removeInstanceListener(InstanceListener listener)
Remove a listener no longer interested in InstanceEvents.

Parameters:
listener - The listener to remove

removeMapping

void removeMapping(String mapping)
Remove a mapping associated with the wrapper.

Parameters:
mapping - The pattern to remove

removeSecurityReference

void removeSecurityReference(String name)
Remove any security role reference for the specified role name.

Parameters:
name - Security role used within this servlet to be removed

unavailable

void unavailable(UnavailableException unavailable)
Process an UnavailableException, marking this servlet as unavailable for the specified amount of time.

Parameters:
unavailable - The exception that occurred, or null to mark this servlet as permanently unavailable

unload

void unload()
            throws ServletException
Unload all initialized instances of this servlet, after calling the destroy() method for each instance. This can be used, for example, prior to shutting down the entire servlet engine, or prior to reloading all of the classes from the Loader associated with our Loader's repository.

Throws:
ServletException - if an unload error occurs

getMultipartConfigElement

MultipartConfigElement getMultipartConfigElement()
Get the multi-part configuration for the associated servlet. If no multi-part configuration has been defined, then null will be returned.


setMultipartConfigElement

void setMultipartConfigElement(MultipartConfigElement multipartConfig)
Set the multi-part configuration for the associated servlet. To clear the multi-part configuration specify null as the new value.


isAsyncSupported

boolean isAsyncSupported()
Does the associated Servlet support async processing? Defaults to true


setAsyncSupported

void setAsyncSupported(boolean asyncSupport)
Set the async support for the associated servlet.


isEnabled

boolean isEnabled()
Is the associated Servlet enabled? Defaults to true.


setEnabled

void setEnabled(boolean enabled)
Sets the enabled attribute for the associated servlet.


setServletSecurityAnnotationScanRequired

void setServletSecurityAnnotationScanRequired(boolean b)
Set the flag that indicates ServletSecurity annotations must be scanned when the Servlet is first used.

Parameters:
b - The new value of the flag

servletSecurityAnnotationScan

void servletSecurityAnnotationScan()
                                   throws ServletException
Scan for (if necessary) and process (if found) the ServletSecurity annotations for the Servlet associated with this wrapper.

Throws:
ServletException

isOverridable

boolean isOverridable()
Is the Servlet overridable by a ServletContainerInitializer?


setOverridable

void setOverridable(boolean overridable)
Sets the overridable attribute for this Servlet.


Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.