org.apache.turbine.pipeline

## Interface ValveContext

- All Known Implementing Classes:
    TurbinePipeline

      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: 1706239 $ $Date: 2015-10-01 15:18:35 +0200 (Thu, 01 Oct 2015) $
  Author:
    Craig R. McClanahan, Gunnar Rjnning, Peter Donald, Daniel Rall

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `invokeNext(PipelineData pipelineData)` 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

    - #### invokeNext

          void invokeNext(PipelineData pipelineData)
                          throws IOException,
                                 TurbineException

      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 will be passed on to our caller.

      If there are no more Valves to be executed, execution of this method will result in a no op.

      Parameters:
        `pipelineData` - The run-time information, including the servlet request and response we are processing.
      Throws:
        `IOException` - Thrown by a subsequent Valve.
        `TurbineException` - Thrown by a subsequent Valve.
        `TurbineException` - No further Valves configured in the Pipeline currently being processed.

Copyright © 2000-2015 The Apache Software Foundation. All Rights Reserved.