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: 1773378 $ $Date: 2016-12-09 14:19:59 +0100 (Fr, 09 Dez 2016) $
  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–2018 The Apache Software Foundation. All rights reserved.