org.apache.catalina

Interface Wrapper

All Superinterfaces:
Container
Known Implementing Classes:
StandardWrapper

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:
$Revision: 1.5 $ $Date: 2004/05/26 15:28:42 $

Author:
Craig R. McClanahan

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

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.
String
getJspFile()
Return the context-relative URI of the JSP file for this servlet.
int
getLoadOnStartup()
Return the load-on-startup order value (negative value means load on first call).
String
getRunAs()
Return the run-as identity for this servlet.
String
getServletClass()
Return the fully qualified servlet class name for this servlet.
void
incrementErrorCount()
Increment the error count value used when monitoring.
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
setAvailable(long available)
Set the available date/time for this servlet, in milliseconds since the epoch.
void
setJspFile(String jspFile)
Set the context-relative URI of the JSP file for this servlet.
void
setLoadOnStartup(int value)
Set the load-on-startup order value (negative value means load on first call).
void
setRunAs(String runAs)
Set the run-as identity for this servlet.
void
setServletClass(String servletClass)
Set the fully qualified servlet class name for this servlet.
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, getBackgroundProcessorDelay, getCluster, getInfo, getLoader, getLogger, getManager, getMappingObject, getName, getParent, getParentClassLoader, getPipeline, getRealm, getResources, invoke, removeChild, removeContainerListener, removePropertyChangeListener, setBackgroundProcessorDelay, setCluster, setLoader, setLogger, setManager, setName, setParent, setParentClassLoader, setRealm, setResources

Method Details

addInitParameter

public 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

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

Parameters:
listener - The new listener


addMapping

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

Parameters:
mapping - The new wrapper mapping


addSecurityReference

public 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

public 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().


deallocate

public 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


findInitParameter

public 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

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


findMappings

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


findSecurityReference

public 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

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


getAvailable

public 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.


getJspFile

public String getJspFile()
Return the context-relative URI of the JSP file for this servlet.


getLoadOnStartup

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


getRunAs

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


getServletClass

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


incrementErrorCount

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


isUnavailable

public boolean isUnavailable()
Is this servlet currently unavailable?


load

public 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.


removeInitParameter

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

Parameters:
name - Name of the initialization parameter to remove


removeInstanceListener

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

Parameters:
listener - The listener to remove


removeMapping

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

Parameters:
mapping - The pattern to remove


removeSecurityReference

public 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


setAvailable

public 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


setJspFile

public void setJspFile(String jspFile)
Set the context-relative URI of the JSP file for this servlet.

Parameters:
jspFile - JSP file URI


setLoadOnStartup

public 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


setRunAs

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

Parameters:
runAs - New run-as identity value


setServletClass

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

Parameters:
servletClass - Servlet class name


unavailable

public 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

public 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.


Copyright B) 2000-2003 Apache Software Foundation. All Rights Reserved.