## org.apache.catalina
Interface ValveContext

All Known Implementing Classes:
  StandardPipeline

public interface ValveContext

A ValveContext is the mechanism by which a Valve can trigger the execution of the next Valve in a Pipeline, without having to know anything about the internal implementation mechanisms. An instance of a class implementing this interface is passed as a parameter to the `Valve.invoke()` method of each executed Valve.

IMPLEMENTATION NOTE: It is up to the implementation of ValveContext to ensure that simultaneous requests being processed (by separate threads) through the same Pipeline do not interfere with each other's flow of control.

Version:
  $Revision: 1.3 $ $Date: 2001/07/22 20:13:30 $
Author:
  Craig R. McClanahan, Gunnar Rjnning, Peter Donald

Method Summary
`java.lang.String` `getInfo()` Return descriptive information about this ValveContext implementation.
`void` `invokeNext(Request request, Response response)` Cause the `invoke()` method of the next Valve that is part of the Pipeline currently being processed (if any) to be executed, passing on the specified request and response objects plus this `ValveContext` instance.

Method Detail

### getInfo

    public java.lang.String getInfo()

  Return descriptive information about this ValveContext implementation.

### invokeNext

    public void invokeNext(Request request,
                           Response response)
                    throws java.io.IOException,
                           javax.servlet.ServletException

  Cause the `invoke()` method of the next Valve that is part of the Pipeline currently being processed (if any) to be executed, passing on the specified request and response objects plus this `ValveContext` instance. Exceptions thrown by a subsequently executed Valve (or a Filter or Servlet at the application level) will be passed on to our caller. If there are no more Valves to be executed, an appropriate ServletException will be thrown by this ValveContext.

  Parameters:
    `request` - The request currently being processed
    `response` - The response currently being created
  Throws:
    `java.io.IOException` - if thrown by a subsequent Valve, Filter, or Servlet
    `javax.servlet.ServletException` - if thrown by a subsequent Valve, Filter, or Servlet
    `javax.servlet.ServletException` - if there are no further Valves configured in the Pipeline currently being processed

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