Interface ValveContext

All Known Implementing Classes:
DefaultPipeline
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface 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: 2004/09/02 03:14:31 $
  • Method Summary

    Modifier and Type
    Method
    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 Details

    • invokeNext

      void invokeNext(PipelineData pipelineData) throws IOException, PipelineException

      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 pouch.
      Throws:
      IOException - Thrown by a subsequent Valve.
      PipelineException