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: 615328 $ $Date: 2008-01-25 21:25:05 +0100 (Fr, 25 Jan 2008) $
Author:
Craig R. McClanahan, Gunnar Rjnning, Peter Donald, Daniel Rall

Method Summary
 void invokeNext(PipelineData data)
          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 data)
                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:
data - 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-2011 The Apache Software Foundation. All Rights Reserved.