1 package jp.sf.grizzly.pipeline.valve;
2
3 import jp.sf.grizzly.pipeline.PipelineException;
4 import jp.sf.grizzly.storage.StreamStorage;
5
6 public interface ValveContext
7 {
8 /***
9 * <p>Cause the <code>invoke()</code> method of the next Valve
10 * that is part of the Pipeline currently being processed (if any)
11 * to be executed, passing on the specified request and response
12 * objects plus this <code>ValveContext</code> instance.
13 * Exceptions thrown by a subsequently executed Valve will be
14 * passed on to our caller.</p>
15 *
16 * <p>If there are no more Valves to be executed, execution of
17 * this method will result in a no op.</p>
18 *
19 * @param data The run-time information, including the servlet
20 * request and response we are processing.
21 *
22 * @exception IOException Thrown by a subsequent Valve.
23 * @exception SummitException Thrown by a subsequent Valve.
24 * @exception SummitException No further Valves configured in the
25 * Pipeline currently being processed.
26 */
27 public void invokeNext(StreamStorage storage) throws PipelineException;
28
29 }