<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>AbstractProtocolFilterChain xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/protocol/AbstractProtocolFilterChain.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: AbstractProtocolFilterChain.java 210062 2005-07-11 03:52:38Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../org/apache/mina/protocol/package-summary.html">org.apache.mina.protocol</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.util.ArrayList;
<a name="22" href="#22">22</a>  <strong>import</strong> java.util.HashMap;
<a name="23" href="#23">23</a>  <strong>import</strong> java.util.IdentityHashMap;
<a name="24" href="#24">24</a>  <strong>import</strong> java.util.Iterator;
<a name="25" href="#25">25</a>  <strong>import</strong> java.util.List;
<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Map;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.common.IdleStatus;
<a name="29" href="#29">29</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolFilter.NextFilter;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  <em>/**<em>*</em></em>
<a name="32" href="#32">32</a>  <em> * An abstract implementation of {@link ProtocolFilterChain} that provides</em>
<a name="33" href="#33">33</a>  <em> * common operations for developers to extend protocol layer.</em>
<a name="34" href="#34">34</a>  <em> * &lt;p></em>
<a name="35" href="#35">35</a>  <em> * All methods has been implemented.  The list of filters is maintained</em>
<a name="36" href="#36">36</a>  <em> * as a doublely linked list.  You can fire any MINA events which is filtered</em>
<a name="37" href="#37">37</a>  <em> * by this chain using these public methods:</em>
<a name="38" href="#38">38</a>  <em> * &lt;ul></em>
<a name="39" href="#39">39</a>  <em> *   &lt;li>&lt;/li></em>
<a name="40" href="#40">40</a>  <em> * &lt;/ul></em>
<a name="41" href="#41">41</a>  <em> * </em>
<a name="42" href="#42">42</a>  <em> * The only method a developer should implement is {@link #doWrite(ProtocolSession, Object)}.</em>
<a name="43" href="#43">43</a>  <em> * This method is invoked when filter chain is evaluated for</em>
<a name="44" href="#44">44</a>  <em> * {@link ProtocolFilter#filterWrite(NextFilter, ProtocolSession, Object)} and </em>
<a name="45" href="#45">45</a>  <em> * finally to be written out.</em>
<a name="46" href="#46">46</a>  <em> * </em>
<a name="47" href="#47">47</a>  <em> * @author The Apache Directory Project</em>
<a name="48" href="#48">48</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="49" href="#49">49</a>  <em> */</em>
<a name="50" href="#50">50</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../org/apache/mina/protocol/AbstractProtocolFilterChain.html">AbstractProtocolFilterChain</a> implements <a href="../../../../org/apache/mina/protocol/ProtocolFilterChain.html">ProtocolFilterChain</a>
<a name="51" href="#51">51</a>  {
<a name="52" href="#52">52</a>      <strong>private</strong> <strong>final</strong> Map name2entry = <strong>new</strong> HashMap();
<a name="53" href="#53">53</a>  
<a name="54" href="#54">54</a>      <strong>private</strong> <strong>final</strong> Map filter2entry = <strong>new</strong> IdentityHashMap();
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <strong>private</strong> <strong>final</strong> Entry head;
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>      <strong>private</strong> <strong>final</strong> Entry tail;
<a name="59" href="#59">59</a>  
<a name="60" href="#60">60</a>      <strong>protected</strong> <a href="../../../../org/apache/mina/protocol/AbstractProtocolFilterChain.html">AbstractProtocolFilterChain</a>()
<a name="61" href="#61">61</a>      {
<a name="62" href="#62">62</a>          head = <strong>new</strong> Entry( <strong>null</strong>, <strong>null</strong>, <span class="string">"head"</span>, createHeadFilter() );
<a name="63" href="#63">63</a>          tail = <strong>new</strong> Entry( head, <strong>null</strong>, <span class="string">"tail"</span>, createTailFilter() );
<a name="64" href="#64">64</a>          head.nextEntry = tail;
<a name="65" href="#65">65</a>      }
<a name="66" href="#66">66</a>      
<a name="67" href="#67">67</a>      <em>/**<em>*</em></em>
<a name="68" href="#68">68</a>  <em>     * Override this method to create custom head of this filter chain.</em>
<a name="69" href="#69">69</a>  <em>     */</em>
<a name="70" href="#70">70</a>      <strong>protected</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> createHeadFilter()
<a name="71" href="#71">71</a>      {
<a name="72" href="#72">72</a>          <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a>()
<a name="73" href="#73">73</a>          {
<a name="74" href="#74">74</a>              <strong>public</strong> <strong>void</strong> sessionOpened( NextFilter nextFilter, ProtocolSession session )
<a name="75" href="#75">75</a>              {
<a name="76" href="#76">76</a>                  nextFilter.sessionOpened( session );
<a name="77" href="#77">77</a>              }
<a name="78" href="#78">78</a>  
<a name="79" href="#79">79</a>              <strong>public</strong> <strong>void</strong> sessionClosed( NextFilter nextFilter, ProtocolSession session )
<a name="80" href="#80">80</a>              {
<a name="81" href="#81">81</a>                  nextFilter.sessionClosed( session );
<a name="82" href="#82">82</a>              }
<a name="83" href="#83">83</a>  
<a name="84" href="#84">84</a>              <strong>public</strong> <strong>void</strong> sessionIdle( NextFilter nextFilter, ProtocolSession session,
<a name="85" href="#85">85</a>                                      <a href="../../../../org/apache/mina/common/IdleStatus.html">IdleStatus</a> status )
<a name="86" href="#86">86</a>              {
<a name="87" href="#87">87</a>                  nextFilter.sessionIdle( session, status );
<a name="88" href="#88">88</a>              }
<a name="89" href="#89">89</a>  
<a name="90" href="#90">90</a>              <strong>public</strong> <strong>void</strong> exceptionCaught( NextFilter nextFilter,
<a name="91" href="#91">91</a>                                          <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Throwable cause )
<a name="92" href="#92">92</a>              {
<a name="93" href="#93">93</a>                  nextFilter.exceptionCaught( session, cause );
<a name="94" href="#94">94</a>              }
<a name="95" href="#95">95</a>  
<a name="96" href="#96">96</a>              <strong>public</strong> <strong>void</strong> messageReceived( NextFilter nextFilter, ProtocolSession session,
<a name="97" href="#97">97</a>                                           Object message )
<a name="98" href="#98">98</a>              {
<a name="99" href="#99">99</a>                  nextFilter.messageReceived( session, message );
<a name="100" href="#100">100</a>             }
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>             <strong>public</strong> <strong>void</strong> messageSent( NextFilter nextFilter, ProtocolSession session,
<a name="103" href="#103">103</a>                                      Object message )
<a name="104" href="#104">104</a>             {
<a name="105" href="#105">105</a>                 nextFilter.messageSent( session, message );
<a name="106" href="#106">106</a>             }
<a name="107" href="#107">107</a>             
<a name="108" href="#108">108</a>             <strong>public</strong> <strong>void</strong> filterWrite( NextFilter nextFilter, ProtocolSession session,
<a name="109" href="#109">109</a>                                      Object message )
<a name="110" href="#110">110</a>             {
<a name="111" href="#111">111</a>                 doWrite( session, message );
<a name="112" href="#112">112</a>             }
<a name="113" href="#113">113</a>         };
<a name="114" href="#114">114</a>     }
<a name="115" href="#115">115</a>     
<a name="116" href="#116">116</a>     <em>/**<em>*</em></em>
<a name="117" href="#117">117</a> <em>     * Override this method to create custom head of this filter chain.</em>
<a name="118" href="#118">118</a> <em>     */</em>
<a name="119" href="#119">119</a>     <strong>protected</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> createTailFilter()
<a name="120" href="#120">120</a>     {
<a name="121" href="#121">121</a>         <strong>return</strong> <strong>new</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a>()
<a name="122" href="#122">122</a>         {
<a name="123" href="#123">123</a>             <strong>public</strong> <strong>void</strong> sessionOpened( NextFilter nextFilter, ProtocolSession session ) throws Exception
<a name="124" href="#124">124</a>             {
<a name="125" href="#125">125</a>                 session.getHandler().sessionOpened( session );
<a name="126" href="#126">126</a>             }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>             <strong>public</strong> <strong>void</strong> sessionClosed( NextFilter nextFilter, ProtocolSession session ) throws Exception
<a name="129" href="#129">129</a>             {
<a name="130" href="#130">130</a>                 session.getHandler().sessionClosed( session );
<a name="131" href="#131">131</a>             }
<a name="132" href="#132">132</a> 
<a name="133" href="#133">133</a>             <strong>public</strong> <strong>void</strong> sessionIdle( NextFilter nextFilter, ProtocolSession session,
<a name="134" href="#134">134</a>                                     <a href="../../../../org/apache/mina/common/IdleStatus.html">IdleStatus</a> status ) throws Exception
<a name="135" href="#135">135</a>             {
<a name="136" href="#136">136</a>                 session.getHandler().sessionIdle( session, status );
<a name="137" href="#137">137</a>             }
<a name="138" href="#138">138</a> 
<a name="139" href="#139">139</a>             <strong>public</strong> <strong>void</strong> exceptionCaught( NextFilter nextFilter,
<a name="140" href="#140">140</a>                                         <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Throwable cause ) throws Exception
<a name="141" href="#141">141</a>             {
<a name="142" href="#142">142</a>                 session.getHandler().exceptionCaught( session, cause );
<a name="143" href="#143">143</a>             }
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>             <strong>public</strong> <strong>void</strong> messageReceived( NextFilter nextFilter, ProtocolSession session,
<a name="146" href="#146">146</a>                                          Object message ) throws Exception
<a name="147" href="#147">147</a>             {
<a name="148" href="#148">148</a>                 <a href="../../../../org/apache/mina/protocol/ProtocolHandler.html">ProtocolHandler</a> handler = session.getHandler();
<a name="149" href="#149">149</a>                 handler.messageReceived( session, message );
<a name="150" href="#150">150</a>             }
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>             <strong>public</strong> <strong>void</strong> messageSent( NextFilter nextFilter, ProtocolSession session,
<a name="153" href="#153">153</a>                                      Object message ) throws Exception
<a name="154" href="#154">154</a>             {
<a name="155" href="#155">155</a>                 session.getHandler().messageSent( session, message );
<a name="156" href="#156">156</a>             }
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>             <strong>public</strong> <strong>void</strong> filterWrite( NextFilter nextFilter,
<a name="159" href="#159">159</a>                                      <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session, Object message ) throws Exception
<a name="160" href="#160">160</a>             {
<a name="161" href="#161">161</a>                 nextFilter.filterWrite( session, message );
<a name="162" href="#162">162</a>             }
<a name="163" href="#163">163</a>         };
<a name="164" href="#164">164</a>     }
<a name="165" href="#165">165</a>     
<a name="166" href="#166">166</a>     <strong>public</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> getChild( String name )
<a name="167" href="#167">167</a>     {
<a name="168" href="#168">168</a>         Entry e = ( Entry ) name2entry.get( name );
<a name="169" href="#169">169</a>         <strong>if</strong> ( e == <strong>null</strong> )
<a name="170" href="#170">170</a>         {
<a name="171" href="#171">171</a>             <strong>return</strong> <strong>null</strong>;
<a name="172" href="#172">172</a>         }
<a name="173" href="#173">173</a>         <strong>return</strong> e.filter;
<a name="174" href="#174">174</a>     }
<a name="175" href="#175">175</a>     
<a name="176" href="#176">176</a>     <em>/**<em>*</em></em>
<a name="177" href="#177">177</a> <em>     * Adds the specified interceptor with the specified name at the beginning of this chain.</em>
<a name="178" href="#178">178</a> <em>     */</em>
<a name="179" href="#179">179</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> addFirst( String name,
<a name="180" href="#180">180</a>                                        <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter )
<a name="181" href="#181">181</a>     {
<a name="182" href="#182">182</a>         checkAddable( name );
<a name="183" href="#183">183</a>         register( head, name, filter );
<a name="184" href="#184">184</a>     }
<a name="185" href="#185">185</a> 
<a name="186" href="#186">186</a> 
<a name="187" href="#187">187</a>     <em>/**<em>*</em></em>
<a name="188" href="#188">188</a> <em>     * Adds the specified interceptor with the specified name at the end of this chain.</em>
<a name="189" href="#189">189</a> <em>     */</em>
<a name="190" href="#190">190</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> addLast( String name,
<a name="191" href="#191">191</a>                                       <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter )
<a name="192" href="#192">192</a>     {
<a name="193" href="#193">193</a>         checkAddable( name );
<a name="194" href="#194">194</a>         register( tail.prevEntry, name, filter );
<a name="195" href="#195">195</a>     }
<a name="196" href="#196">196</a> 
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>     <em>/**<em>*</em></em>
<a name="199" href="#199">199</a> <em>     * Adds the specified interceptor with the specified name just before the interceptor whose name is</em>
<a name="200" href="#200">200</a> <em>     * &lt;code>baseName&lt;/code> in this chain.</em>
<a name="201" href="#201">201</a> <em>     */</em>
<a name="202" href="#202">202</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> addBefore( String baseName,
<a name="203" href="#203">203</a>                                         String name,
<a name="204" href="#204">204</a>                                         <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter )
<a name="205" href="#205">205</a>     {
<a name="206" href="#206">206</a>         Entry baseEntry = checkOldName( baseName );
<a name="207" href="#207">207</a>         checkAddable( name );
<a name="208" href="#208">208</a>         register( baseEntry, name, filter );
<a name="209" href="#209">209</a>     }
<a name="210" href="#210">210</a> 
<a name="211" href="#211">211</a> 
<a name="212" href="#212">212</a>     <em>/**<em>*</em></em>
<a name="213" href="#213">213</a> <em>     * Adds the specified interceptor with the specified name just after the interceptor whose name is</em>
<a name="214" href="#214">214</a> <em>     * &lt;code>baseName&lt;/code> in this chain.</em>
<a name="215" href="#215">215</a> <em>     */</em>
<a name="216" href="#216">216</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> addAfter( String baseName,
<a name="217" href="#217">217</a>                                        String name,
<a name="218" href="#218">218</a>                                        <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter )
<a name="219" href="#219">219</a>     {
<a name="220" href="#220">220</a>         Entry baseEntry = checkOldName( baseName );
<a name="221" href="#221">221</a>         checkAddable( name );
<a name="222" href="#222">222</a>         register( baseEntry.prevEntry, name, filter );
<a name="223" href="#223">223</a>     }
<a name="224" href="#224">224</a> 
<a name="225" href="#225">225</a> 
<a name="226" href="#226">226</a>     <em>/**<em>*</em></em>
<a name="227" href="#227">227</a> <em>     * Removes the interceptor with the specified name from this chain.</em>
<a name="228" href="#228">228</a> <em>     */</em>
<a name="229" href="#229">229</a>     <strong>public</strong> <strong>synchronized</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> remove( String name )
<a name="230" href="#230">230</a>     {
<a name="231" href="#231">231</a>         Entry entry = checkOldName( name );
<a name="232" href="#232">232</a>         Entry prevEntry = entry.prevEntry;
<a name="233" href="#233">233</a>         Entry nextEntry = entry.nextEntry;
<a name="234" href="#234">234</a>         prevEntry.nextEntry = nextEntry;
<a name="235" href="#235">235</a>         nextEntry.prevEntry = prevEntry;
<a name="236" href="#236">236</a> 
<a name="237" href="#237">237</a>         name2entry.remove( name );
<a name="238" href="#238">238</a>         <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter = entry.filter;
<a name="239" href="#239">239</a>         filter2entry.remove( filter );
<a name="240" href="#240">240</a>         
<a name="241" href="#241">241</a>         <strong>return</strong> filter;
<a name="242" href="#242">242</a>     }
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a> 
<a name="245" href="#245">245</a>     <em>/**<em>*</em></em>
<a name="246" href="#246">246</a> <em>     * Removes all interceptors added to this chain.</em>
<a name="247" href="#247">247</a> <em>     */</em>
<a name="248" href="#248">248</a>     <strong>public</strong> <strong>synchronized</strong> <strong>void</strong> clear()
<a name="249" href="#249">249</a>     {
<a name="250" href="#250">250</a>         Iterator it = <strong>new</strong> ArrayList( name2entry.keySet() ).iterator();
<a name="251" href="#251">251</a>         <strong>while</strong> ( it.hasNext() )
<a name="252" href="#252">252</a>         {
<a name="253" href="#253">253</a>             <strong>this</strong>.remove( ( String ) it.next() );
<a name="254" href="#254">254</a>         }
<a name="255" href="#255">255</a>     }
<a name="256" href="#256">256</a> 
<a name="257" href="#257">257</a>     <strong>private</strong> <strong>void</strong> register( Entry prevEntry, String name, ProtocolFilter filter )
<a name="258" href="#258">258</a>     {
<a name="259" href="#259">259</a>         Entry <strong>new</strong>Entry = <strong>new</strong> Entry( prevEntry, prevEntry.nextEntry, name, filter );
<a name="260" href="#260">260</a>         prevEntry.nextEntry.prevEntry = newEntry;
<a name="261" href="#261">261</a>         prevEntry.nextEntry = newEntry;
<a name="262" href="#262">262</a>         name2entry.put( name, newEntry );
<a name="263" href="#263">263</a>         filter2entry.put( filter, newEntry );
<a name="264" href="#264">264</a>     }
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>     <em>/**<em>*</em></em>
<a name="267" href="#267">267</a> <em>     * Throws an exception when the specified interceptor name is not registered in this chain.</em>
<a name="268" href="#268">268</a> <em>     *</em>
<a name="269" href="#269">269</a> <em>     * @return An interceptor entry with the specified name.</em>
<a name="270" href="#270">270</a> <em>     */</em>
<a name="271" href="#271">271</a>     <strong>private</strong> Entry checkOldName( String baseName )
<a name="272" href="#272">272</a>     {
<a name="273" href="#273">273</a>         Entry e = ( Entry ) name2entry.get( baseName );
<a name="274" href="#274">274</a>         <strong>if</strong> ( e == <strong>null</strong> )
<a name="275" href="#275">275</a>         {
<a name="276" href="#276">276</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Unknown interceptor name:"</span> +
<a name="277" href="#277">277</a>                     baseName );
<a name="278" href="#278">278</a>         }
<a name="279" href="#279">279</a>         <strong>return</strong> e;
<a name="280" href="#280">280</a>     }
<a name="281" href="#281">281</a> 
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>     <em>/**<em>*</em></em>
<a name="284" href="#284">284</a> <em>     * Checks the specified interceptor name is already taken and throws an exception if already taken.</em>
<a name="285" href="#285">285</a> <em>     */</em>
<a name="286" href="#286">286</a>     <strong>private</strong> <strong>void</strong> checkAddable( String name )
<a name="287" href="#287">287</a>     {
<a name="288" href="#288">288</a>         <strong>if</strong> ( name2entry.containsKey( name ) )
<a name="289" href="#289">289</a>         {
<a name="290" href="#290">290</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"Other interceptor is using name '"</span> + name + <span class="string">"'"</span> );
<a name="291" href="#291">291</a>         }
<a name="292" href="#292">292</a>     }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a>     <strong>public</strong> <strong>void</strong> sessionOpened( ProtocolSession session )
<a name="295" href="#295">295</a>     {
<a name="296" href="#296">296</a>         Entry head = <strong>this</strong>.head;
<a name="297" href="#297">297</a>         callNextSessionOpened(head, session);
<a name="298" href="#298">298</a>     }
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>     <strong>private</strong> <strong>void</strong> callNextSessionOpened( Entry entry,
<a name="301" href="#301">301</a>                                         <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session)
<a name="302" href="#302">302</a>     {
<a name="303" href="#303">303</a>         <strong>try</strong>
<a name="304" href="#304">304</a>         {
<a name="305" href="#305">305</a>             entry.filter.sessionOpened( entry.nextFilter, session );
<a name="306" href="#306">306</a>         }
<a name="307" href="#307">307</a>         <strong>catch</strong>( Throwable e )
<a name="308" href="#308">308</a>         {
<a name="309" href="#309">309</a>             exceptionCaught( session, e );
<a name="310" href="#310">310</a>         }
<a name="311" href="#311">311</a>     }
<a name="312" href="#312">312</a> 
<a name="313" href="#313">313</a>     <strong>public</strong> <strong>void</strong> sessionClosed( ProtocolSession session )
<a name="314" href="#314">314</a>     {
<a name="315" href="#315">315</a>         Entry head = <strong>this</strong>.head;
<a name="316" href="#316">316</a>         callNextSessionClosed(head, session);
<a name="317" href="#317">317</a>     }
<a name="318" href="#318">318</a> 
<a name="319" href="#319">319</a>     <strong>private</strong> <strong>void</strong> callNextSessionClosed( Entry entry,
<a name="320" href="#320">320</a>                                         <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session )
<a name="321" href="#321">321</a>     {
<a name="322" href="#322">322</a>         <strong>try</strong>
<a name="323" href="#323">323</a>         {
<a name="324" href="#324">324</a>             entry.filter.sessionClosed( entry.nextFilter, session );
<a name="325" href="#325">325</a>                 
<a name="326" href="#326">326</a>         }
<a name="327" href="#327">327</a>         <strong>catch</strong>( Throwable e )
<a name="328" href="#328">328</a>         {
<a name="329" href="#329">329</a>             exceptionCaught( session, e );
<a name="330" href="#330">330</a>         }
<a name="331" href="#331">331</a>     }
<a name="332" href="#332">332</a> 
<a name="333" href="#333">333</a>     <strong>public</strong> <strong>void</strong> sessionIdle( ProtocolSession session, IdleStatus status )
<a name="334" href="#334">334</a>     {
<a name="335" href="#335">335</a>         Entry head = <strong>this</strong>.head;
<a name="336" href="#336">336</a>         callNextSessionIdle(head, session, status);
<a name="337" href="#337">337</a>     }
<a name="338" href="#338">338</a> 
<a name="339" href="#339">339</a>     <strong>private</strong> <strong>void</strong> callNextSessionIdle( Entry entry,
<a name="340" href="#340">340</a>                                       <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session,
<a name="341" href="#341">341</a>                                       <a href="../../../../org/apache/mina/common/IdleStatus.html">IdleStatus</a> status )
<a name="342" href="#342">342</a>     {
<a name="343" href="#343">343</a>         <strong>try</strong>
<a name="344" href="#344">344</a>         {
<a name="345" href="#345">345</a>             entry.filter.sessionIdle( entry.nextFilter, session, status );
<a name="346" href="#346">346</a>         }
<a name="347" href="#347">347</a>         <strong>catch</strong>( Throwable e )
<a name="348" href="#348">348</a>         {
<a name="349" href="#349">349</a>             exceptionCaught( session, e );
<a name="350" href="#350">350</a>         }
<a name="351" href="#351">351</a>     }
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>     <strong>public</strong> <strong>void</strong> messageReceived( ProtocolSession session, Object message )
<a name="354" href="#354">354</a>     {
<a name="355" href="#355">355</a>         Entry head = <strong>this</strong>.head;
<a name="356" href="#356">356</a>         callNextMessageReceived(head, session, message );
<a name="357" href="#357">357</a>     }
<a name="358" href="#358">358</a> 
<a name="359" href="#359">359</a>     <strong>private</strong> <strong>void</strong> callNextMessageReceived( Entry entry,
<a name="360" href="#360">360</a>                                           <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session,
<a name="361" href="#361">361</a>                                           Object message )
<a name="362" href="#362">362</a>     {
<a name="363" href="#363">363</a>         <strong>try</strong>
<a name="364" href="#364">364</a>         {
<a name="365" href="#365">365</a>             entry.filter.messageReceived( entry.nextFilter, session, message );
<a name="366" href="#366">366</a>         }
<a name="367" href="#367">367</a>         <strong>catch</strong>( Throwable e )
<a name="368" href="#368">368</a>         {
<a name="369" href="#369">369</a>             exceptionCaught( session, e );
<a name="370" href="#370">370</a>         }
<a name="371" href="#371">371</a>     }
<a name="372" href="#372">372</a> 
<a name="373" href="#373">373</a>     <strong>public</strong> <strong>void</strong> messageSent( ProtocolSession session, Object message )
<a name="374" href="#374">374</a>     {
<a name="375" href="#375">375</a>         Entry head = <strong>this</strong>.head;
<a name="376" href="#376">376</a>         callNextMessageSent(head, session, message);
<a name="377" href="#377">377</a>     }
<a name="378" href="#378">378</a> 
<a name="379" href="#379">379</a>     <strong>private</strong> <strong>void</strong> callNextMessageSent( Entry entry,
<a name="380" href="#380">380</a>                                       <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session,
<a name="381" href="#381">381</a>                                       Object message ) 
<a name="382" href="#382">382</a>     {
<a name="383" href="#383">383</a>         <strong>try</strong>
<a name="384" href="#384">384</a>         {
<a name="385" href="#385">385</a>             entry.filter.messageSent( entry.nextFilter, session, message );
<a name="386" href="#386">386</a>         }
<a name="387" href="#387">387</a>         <strong>catch</strong>( Throwable e )
<a name="388" href="#388">388</a>         {
<a name="389" href="#389">389</a>             exceptionCaught( session, e );
<a name="390" href="#390">390</a>         }
<a name="391" href="#391">391</a>     }
<a name="392" href="#392">392</a> 
<a name="393" href="#393">393</a>     <strong>public</strong> <strong>void</strong> exceptionCaught( ProtocolSession session, Throwable cause )
<a name="394" href="#394">394</a>     {
<a name="395" href="#395">395</a>         Entry head = <strong>this</strong>.head;
<a name="396" href="#396">396</a>         callNextExceptionCaught(head, session, cause);
<a name="397" href="#397">397</a>     }
<a name="398" href="#398">398</a> 
<a name="399" href="#399">399</a>     <strong>private</strong> <strong>void</strong> callNextExceptionCaught( Entry entry,
<a name="400" href="#400">400</a>                                           <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session,
<a name="401" href="#401">401</a>                                           Throwable cause )
<a name="402" href="#402">402</a>     {
<a name="403" href="#403">403</a>         <strong>try</strong>
<a name="404" href="#404">404</a>         {
<a name="405" href="#405">405</a>             entry.filter.exceptionCaught( entry.nextFilter, session, cause );
<a name="406" href="#406">406</a>         }
<a name="407" href="#407">407</a>         <strong>catch</strong>( Throwable e )
<a name="408" href="#408">408</a>         {
<a name="409" href="#409">409</a>             e.printStackTrace();
<a name="410" href="#410">410</a>         }
<a name="411" href="#411">411</a>     }
<a name="412" href="#412">412</a>     
<a name="413" href="#413">413</a>     <strong>public</strong> <strong>void</strong> filterWrite( ProtocolSession session, Object message )
<a name="414" href="#414">414</a>     {
<a name="415" href="#415">415</a>         Entry tail = <strong>this</strong>.tail;
<a name="416" href="#416">416</a>         callPreviousFilterWrite( tail, session, message );
<a name="417" href="#417">417</a>     }
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>     <strong>private</strong> <strong>void</strong> callPreviousFilterWrite( Entry entry,
<a name="420" href="#420">420</a>                                           <a href="../../../../org/apache/mina/protocol/ProtocolSession.html">ProtocolSession</a> session,
<a name="421" href="#421">421</a>                                           Object message )
<a name="422" href="#422">422</a>     {
<a name="423" href="#423">423</a>         <strong>if</strong>( message == <strong>null</strong> )
<a name="424" href="#424">424</a>         {
<a name="425" href="#425">425</a>             <strong>return</strong>;
<a name="426" href="#426">426</a>         }
<a name="427" href="#427">427</a>         
<a name="428" href="#428">428</a>         <strong>try</strong>
<a name="429" href="#429">429</a>         {
<a name="430" href="#430">430</a>             entry.filter.filterWrite( entry.nextFilter, session, message );
<a name="431" href="#431">431</a>         }
<a name="432" href="#432">432</a>         <strong>catch</strong>( Throwable e )
<a name="433" href="#433">433</a>         {
<a name="434" href="#434">434</a>             exceptionCaught( session, e );
<a name="435" href="#435">435</a>         }
<a name="436" href="#436">436</a>     }
<a name="437" href="#437">437</a> 
<a name="438" href="#438">438</a>     <strong>public</strong> List getChildren()
<a name="439" href="#439">439</a>     {
<a name="440" href="#440">440</a>         List list = <strong>new</strong> ArrayList();
<a name="441" href="#441">441</a>         Entry e = head.nextEntry;
<a name="442" href="#442">442</a>         <strong>while</strong>( e != tail )
<a name="443" href="#443">443</a>         {
<a name="444" href="#444">444</a>             list.add( e.filter );
<a name="445" href="#445">445</a>             e = e.nextEntry;
<a name="446" href="#446">446</a>         }
<a name="447" href="#447">447</a> 
<a name="448" href="#448">448</a>         <strong>return</strong> list;
<a name="449" href="#449">449</a>     }
<a name="450" href="#450">450</a> 
<a name="451" href="#451">451</a>     <strong>public</strong> List getChildrenReversed()
<a name="452" href="#452">452</a>     {
<a name="453" href="#453">453</a>         List list = <strong>new</strong> ArrayList();
<a name="454" href="#454">454</a>         Entry e = tail.prevEntry;
<a name="455" href="#455">455</a>         <strong>while</strong>( e != head )
<a name="456" href="#456">456</a>         {
<a name="457" href="#457">457</a>             list.add( e.filter );
<a name="458" href="#458">458</a>             e = e.prevEntry;
<a name="459" href="#459">459</a>         }
<a name="460" href="#460">460</a>         <strong>return</strong> list;
<a name="461" href="#461">461</a>     }
<a name="462" href="#462">462</a>     
<a name="463" href="#463">463</a>     <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> doWrite( ProtocolSession session, Object message );
<a name="464" href="#464">464</a> 
<a name="465" href="#465">465</a>     <strong>private</strong> <strong>class</strong> Entry
<a name="466" href="#466">466</a>     {
<a name="467" href="#467">467</a>         <strong>private</strong> Entry prevEntry;
<a name="468" href="#468">468</a> 
<a name="469" href="#469">469</a>         <strong>private</strong> Entry nextEntry;
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>         <strong>private</strong> <strong>final</strong> String name;
<a name="472" href="#472">472</a>         
<a name="473" href="#473">473</a>         <strong>private</strong> <strong>final</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter;
<a name="474" href="#474">474</a> 
<a name="475" href="#475">475</a>         <strong>private</strong> <strong>final</strong> NextFilter nextFilter;
<a name="476" href="#476">476</a>         
<a name="477" href="#477">477</a>         <strong>private</strong> Entry( Entry prevEntry, Entry nextEntry,
<a name="478" href="#478">478</a>                        String name, <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> filter )
<a name="479" href="#479">479</a>         {
<a name="480" href="#480">480</a>             <strong>if</strong>( filter == <strong>null</strong> )
<a name="481" href="#481">481</a>             {
<a name="482" href="#482">482</a>                 <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"filter"</span> );
<a name="483" href="#483">483</a>             }
<a name="484" href="#484">484</a>             <strong>if</strong>( name == <strong>null</strong> )
<a name="485" href="#485">485</a>             {
<a name="486" href="#486">486</a>                 <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"name"</span> );
<a name="487" href="#487">487</a>             }
<a name="488" href="#488">488</a>             
<a name="489" href="#489">489</a>             <strong>this</strong>.prevEntry = prevEntry;
<a name="490" href="#490">490</a>             <strong>this</strong>.nextEntry = nextEntry;
<a name="491" href="#491">491</a>             <strong>this</strong>.name = name;
<a name="492" href="#492">492</a>             <strong>this</strong>.filter = filter;
<a name="493" href="#493">493</a>             <strong>this</strong>.nextFilter = <strong>new</strong> NextFilter()
<a name="494" href="#494">494</a>             {
<a name="495" href="#495">495</a> 
<a name="496" href="#496">496</a>                 <strong>public</strong> <strong>void</strong> sessionOpened( ProtocolSession session )
<a name="497" href="#497">497</a>                 {
<a name="498" href="#498">498</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="499" href="#499">499</a>                     callNextSessionOpened( nextEntry, session );
<a name="500" href="#500">500</a>                 }
<a name="501" href="#501">501</a> 
<a name="502" href="#502">502</a>                 <strong>public</strong> <strong>void</strong> sessionClosed( ProtocolSession session )
<a name="503" href="#503">503</a>                 {
<a name="504" href="#504">504</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="505" href="#505">505</a>                     callNextSessionClosed( nextEntry, session );
<a name="506" href="#506">506</a>                 }
<a name="507" href="#507">507</a> 
<a name="508" href="#508">508</a>                 <strong>public</strong> <strong>void</strong> sessionIdle( ProtocolSession session, IdleStatus status )
<a name="509" href="#509">509</a>                 {
<a name="510" href="#510">510</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="511" href="#511">511</a>                     callNextSessionIdle( nextEntry, session, status );
<a name="512" href="#512">512</a>                 }
<a name="513" href="#513">513</a> 
<a name="514" href="#514">514</a>                 <strong>public</strong> <strong>void</strong> exceptionCaught( ProtocolSession session,
<a name="515" href="#515">515</a>                                             Throwable cause )
<a name="516" href="#516">516</a>                 {
<a name="517" href="#517">517</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="518" href="#518">518</a>                     callNextExceptionCaught( nextEntry, session, cause );
<a name="519" href="#519">519</a>                 }
<a name="520" href="#520">520</a> 
<a name="521" href="#521">521</a>                 <strong>public</strong> <strong>void</strong> messageReceived( ProtocolSession session, Object message )
<a name="522" href="#522">522</a>                 {
<a name="523" href="#523">523</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="524" href="#524">524</a>                     callNextMessageReceived( nextEntry, session, message );
<a name="525" href="#525">525</a>                 }
<a name="526" href="#526">526</a> 
<a name="527" href="#527">527</a>                 <strong>public</strong> <strong>void</strong> messageSent( ProtocolSession session, Object message )
<a name="528" href="#528">528</a>                 {
<a name="529" href="#529">529</a>                     Entry nextEntry = Entry.<strong>this</strong>.nextEntry;
<a name="530" href="#530">530</a>                     callNextMessageSent( nextEntry, session, message );
<a name="531" href="#531">531</a>                 }
<a name="532" href="#532">532</a>                 
<a name="533" href="#533">533</a>                 <strong>public</strong> <strong>void</strong> filterWrite( ProtocolSession session, Object message )
<a name="534" href="#534">534</a>                 {
<a name="535" href="#535">535</a>                     Entry nextEntry = Entry.<strong>this</strong>.prevEntry;
<a name="536" href="#536">536</a>                     callPreviousFilterWrite( nextEntry, session, message );
<a name="537" href="#537">537</a>                 }
<a name="538" href="#538">538</a>             };
<a name="539" href="#539">539</a>         }
<a name="540" href="#540">540</a>         
<a name="541" href="#541">541</a>         <strong>public</strong> String getName()
<a name="542" href="#542">542</a>         {
<a name="543" href="#543">543</a>             <strong>return</strong> name;
<a name="544" href="#544">544</a>         }
<a name="545" href="#545">545</a>         
<a name="546" href="#546">546</a>         <strong>public</strong> <a href="../../../../org/apache/mina/protocol/ProtocolFilter.html">ProtocolFilter</a> getFilter()
<a name="547" href="#547">547</a>         {
<a name="548" href="#548">548</a>             <strong>return</strong> filter;
<a name="549" href="#549">549</a>         }
<a name="550" href="#550">550</a>     }
<a name="551" href="#551">551</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

