Package org.apache.catalina
Interface Valve
- 
- All Known Subinterfaces:
- ClusterValve
 - All Known Implementing Classes:
- AbstractAccessLogValve,- AccessLogValve,- AuthenticatorBase,- BasicAuthenticator,- ClusterSingleSignOn,- CrawlerSessionManagerValve,- DigestAuthenticator,- ErrorReportValve,- ExtendedAccessLogValve,- FormAuthenticator,- JDBCAccessLogValve,- JsonErrorReportValve,- JvmRouteBinderValve,- LoadBalancerDrainingValve,- NonLoginAuthenticator,- PersistentValve,- RemoteAddrValve,- RemoteCIDRValve,- RemoteHostValve,- RemoteIpValve,- ReplicationValve,- RequestFilterValve,- RewriteValve,- SemaphoreValve,- SingleSignOn,- SpnegoAuthenticator,- SSLAuthenticator,- SSLValve,- StuckThreadDetectionValve,- ValveBase
 
 public interface ValveA 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 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.invoke()method below.- Author:
- Craig R. McClanahan, Gunnar Rjnning, Peter Donald
 
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description voidbackgroundProcess()Execute a periodic task, such as reloading, etc.ValvegetNext()voidinvoke(Request request, Response response)Perform request processing as required by this Valve.booleanisAsyncSupported()voidsetNext(Valve valve)Set the next Valve in the pipeline containing this Valve.
 
- 
- 
- 
Method Detail- 
getNextValve getNext() - Returns:
- the next Valve in the pipeline containing this Valve, if any.
 
 - 
setNextvoid setNext(Valve valve) Set the next Valve in the pipeline containing this Valve.- Parameters:
- valve- The new next valve, or- nullif none
 
 - 
backgroundProcessvoid backgroundProcess() 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.
 - 
invokevoid invoke(Request request, Response response) throws java.io.IOException, ServletException 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 getNext().invoke().
- 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
     getNext().invoke()method has returned.
- Perform any actions on the output stream associated with the
     specified Response after the getNext().invoke()method has returned.
 - Parameters:
- request- The servlet request to be processed
- response- The servlet response to be created
- Throws:
- java.io.IOException- if an input/output error occurs, or is thrown by a subsequently invoked Valve, Filter, or Servlet
- ServletException- if a servlet error occurs, or is thrown by a subsequently invoked Valve, Filter, or Servlet
 
 - 
isAsyncSupportedboolean isAsyncSupported() 
 
- 
 
-