| <!DOCTYPE HTML> |
| <html lang> |
| <head> |
| <!-- Generated by javadoc (21) --> |
| <title>Pipeline (Apache Turbine 7.1-SNAPSHOT API)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="description" content="declaration: package: org.apache.turbine.pipeline, interface: Pipeline"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style"> |
| <script type="text/javascript" src="../../../../script.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-3.6.1.min.js"></script> |
| <script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var pathtoroot = "../../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span><span class="nav-bar-toggle-icon"> </span></button> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="class-use/Pipeline.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../../deprecated-list.html">Deprecated</a></li> |
| <li><a href="../../../../index-all.html">Index</a></li> |
| <li><a href="../../../../help-doc.html#class">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Summary:</p> |
| <ul> |
| <li>Nested</li> |
| <li>Field</li> |
| <li>Constr</li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| </li> |
| <li> |
| <p>Detail:</p> |
| <ul> |
| <li>Field</li> |
| <li>Constr</li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><a href="../../../../search.html">SEARCH</a> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.turbine.pipeline</a></div> |
| <h1 title="Interface Pipeline" class="title">Interface Pipeline</h1> |
| </div> |
| <section class="class-description" id="class-description"> |
| <dl class="notes"> |
| <dt>All Known Implementing Classes:</dt> |
| <dd><code><a href="TurbinePipeline.html" title="class in org.apache.turbine.pipeline">TurbinePipeline</a></code></dd> |
| </dl> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public interface </span><span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-53">Pipeline</a></span></div> |
| <div class="block">The idea of a pipeline is being taken from Catalina |
| in its entirety :-) |
| |
| I would like to take the idea further and implement |
| Valves instead of hardcoding particular methods |
| in a pipeline. |
| |
| It would be more flexible to specify Valves for |
| a pipeline in an XML file (we can also rip off the |
| digester rules from T4) and have invoke() as part |
| of the interface. |
| |
| So a set of Valves would be added to the pipeline |
| and the pipeline would 'invoke' each valve. In the |
| case Turbine each Valve would produce some output |
| to be sent out the pipe. I think with another days |
| work this can be fully working. The first pipeline |
| to be fully implemented will the ClassicPipeline |
| will emulate the Turbine 2.1 way of doing things.</div> |
| <dl class="notes"> |
| <dt>Author:</dt> |
| <dd><a href="mailto:jvanzyl@apache.org">Jason van Zyl</a>, <a href="mailto:dlr@finemaltcoding.com">Daniel Rall</a>, <a href="mailto:peter@courcoux.biz">Peter Courcoux</a></dd> |
| </dl> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0"> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#addValve(org.apache.turbine.pipeline.Valve)" class="member-name-link">addValve</a><wbr>(<a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a> valve)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Add a new Valve to the end of the pipeline.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a>[]</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getValves()" class="member-name-link">getValves</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Return the set of all Valves in the pipeline.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#initialize()" class="member-name-link">initialize</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Initializes this instance.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#invoke(org.apache.turbine.pipeline.PipelineData)" class="member-name-link">invoke</a><wbr>(<a href="PipelineData.html" title="interface in org.apache.turbine.pipeline">PipelineData</a> pipelineData)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Cause the specified request and response to be processed by |
| the sequence of Valves associated with this pipeline, until one |
| of these Valves decides to end the processing.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#removeValve(org.apache.turbine.pipeline.Valve)" class="member-name-link">removeValve</a><wbr>(<a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a> valve)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Remove the specified Valve from the pipeline, if it is found; |
| otherwise, do nothing.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="initialize()"> |
| <h3>initialize</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-59">initialize</a></span>() |
| throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></span></div> |
| <div class="block">Initializes this instance. Called once by the Turbine servlet.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Exception.html" title="class or interface in java.lang" class="external-link">Exception</a></code> - if the initialization fails</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="addValve(org.apache.turbine.pipeline.Valve)"> |
| <h3>addValve</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-70">addValve</a></span><wbr><span class="parameters">(<a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a> valve)</span></div> |
| <div class="block"><p>Add a new Valve to the end of the pipeline.</p></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>valve</code> - Valve to be added.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - If the pipeline has not been |
| initialized.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getValves()"> |
| <h3>getValves</h3> |
| <div class="member-signature"><span class="return-type"><a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a>[]</span> <span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-78">getValves</a></span>()</div> |
| <div class="block">Return the set of all Valves in the pipeline. If there are no |
| such Valves, a zero-length array is returned.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>An array of valves.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="invoke(org.apache.turbine.pipeline.PipelineData)"> |
| <h3>invoke</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-95">invoke</a></span><wbr><span class="parameters">(<a href="PipelineData.html" title="interface in org.apache.turbine.pipeline">PipelineData</a> pipelineData)</span> |
| throws <span class="exceptions"><a href="../util/TurbineException.html" title="class in org.apache.turbine.util">TurbineException</a>, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></span></div> |
| <div class="block"><p>Cause the specified request and response to be processed by |
| the sequence of Valves associated with this pipeline, until one |
| of these Valves decides to end the processing.</p> |
| |
| <p>The implementation must ensure that multiple simultaneous |
| requests (on different threads) can be processed through the |
| same Pipeline without interfering with each other's control |
| flow.</p></div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>pipelineData</code> - The run-time information, including the servlet |
| request and response we are processing.</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../util/TurbineException.html" title="class in org.apache.turbine.util">TurbineException</a></code> - if the invocation fails</dd> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/io/IOException.html" title="class or interface in java.io" class="external-link">IOException</a></code> - an input/output error occurred.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="removeValve(org.apache.turbine.pipeline.Valve)"> |
| <h3>removeValve</h3> |
| <div class="member-signature"><span class="return-type">void</span> <span class="element-name"><a href="../../../../src-html/org/apache/turbine/pipeline/Pipeline.html#line-104">removeValve</a></span><wbr><span class="parameters">(<a href="Valve.html" title="interface in org.apache.turbine.pipeline">Valve</a> valve)</span></div> |
| <div class="block">Remove the specified Valve from the pipeline, if it is found; |
| otherwise, do nothing.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>valve</code> - Valve to be removed.</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2000–2025 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |