| org.apache.catalina.Valve
All known Subclasses: org.apache.catalina.valves.ValveBase,
Valve | public interface Valve (Code) | | A Valve is a request processing component associated with a
particular Container. A series of Valves are generally associated with
each other into a Pipeline. The detailed contract for a Valve is included
in the description of the invoke() method below.
HISTORICAL NOTE: The "Valve" name was assigned to this concept
because a valve is what you use in a real world pipeline to control and/or
modify flows through it.
author: Craig R. McClanahan author: Gunnar Rjnning author: Peter Donald version: $Revision: 467222 $ $Date: 2006-10-24 05:17:11 +0200 (mar., 24 oct. 2006) $ |
Method Summary | |
public void | backgroundProcess() Execute a periodic task, such as reloading, etc. | public void | event(Request request, Response response, CometEvent event) Process a Comet event. | public String | getInfo() Return descriptive information about this Valve implementation. | public Valve | getNext() Return the next Valve in the pipeline containing this Valve, if any. | public void | invoke(Request request, Response response) Perform request processing as required by this Valve.
An individual Valve MAY perform the following actions, in
the specified order:
- Examine and/or modify the properties of the specified Request and
Response.
| public void | setNext(Valve valve) Set the next Valve in the pipeline containing this Valve. |
backgroundProcess | public void backgroundProcess()(Code) | | 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.
|
event | public void event(Request request, Response response, CometEvent event) throws IOException, ServletException(Code) | | Process a Comet event.
Parameters: request - The servlet request to be processed Parameters: response - The servlet response to be created exception: IOException - if an input/output error occurs, or is thrownby a subsequently invoked Valve, Filter, or Servlet exception: ServletException - if a servlet error occurs, or is thrownby a subsequently invoked Valve, Filter, or Servlet |
getInfo | public String getInfo()(Code) | | Return descriptive information about this Valve implementation.
|
getNext | public Valve getNext()(Code) | | Return the next Valve in the pipeline containing this Valve, if any.
|
invoke | public void invoke(Request request, Response response) throws IOException, ServletException(Code) | | Perform request processing as required by this Valve.
An individual Valve MAY perform the following actions, in
the specified order:
- Examine and/or modify the properties of the specified Request and
Response.
- Examine the properties of the specified Request, completely generate
the corresponding Response, and return control to the caller.
- Examine the properties of the specified Request and Response, wrap
either or both of these objects to supplement their functionality,
and pass them on.
- If the corresponding Response was not generated (and control was not
returned, call the next Valve in the pipeline (if there is one) by
executing
context.invokeNext() .
- Examine, but not modify, the properties of the resulting Response
(which was created by a subsequently invoked Valve or Container).
A Valve MUST NOT do any of the following things:
- Change request properties that have already been used to direct
the flow of processing control for this request (for instance,
trying to change the virtual host to which a Request should be
sent from a pipeline attached to a Host or Context in the
standard implementation).
- Create a completed Response AND pass this
Request and Response on to the next Valve in the pipeline.
- Consume bytes from the input stream associated with the Request,
unless it is completely generating the response, or wrapping the
request before passing it on.
- Modify the HTTP headers included with the Response after the
invokeNext() method has returned.
- Perform any actions on the output stream associated with the
specified Response after the
invokeNext() method has
returned.
Parameters: request - The servlet request to be processed Parameters: response - The servlet response to be created exception: IOException - if an input/output error occurs, or is thrownby a subsequently invoked Valve, Filter, or Servlet exception: ServletException - if a servlet error occurs, or is thrownby a subsequently invoked Valve, Filter, or Servlet |
setNext | public void setNext(Valve valve)(Code) | | Set the next Valve in the pipeline containing this Valve.
Parameters: valve - The new next valve, or null if none |
|
|