<!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=UTF-8" />
<title>DefaultIoFilterChain xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/filterchain/DefaultIoFilterChain.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_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="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core.filterchain;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.HashMap;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.List;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.filterchain.IoFilter.NextFilter;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.ConnectFuture;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.IoFuture;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AbstractIoSession;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.AttributeKey;
<a name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IdleStatus;
<a name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.write.WriteRequest;
<a name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.slf4j.Logger;
<a name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.slf4j.LoggerFactory;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">/**</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * A default implementation of {@link IoFilterChain} that provides</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> * all operations for developers who want to implement their own</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment"> * transport layer once used with {@link AbstractIoSession}.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment"> *</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment"> */</em>
<a name="46" href="#46">46</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">DefaultIoFilterChain</a> implements <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">IoFilterChain</a> {
<a name="47" href="#47">47</a>      <em class="jxr_javadoccomment">/**</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     * A session attribute that stores an {@link IoFuture} related with</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     * the {@link IoSession}.  {@link DefaultIoFilterChain} clears this</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">     * attribute and notifies the future when {@link #fireSessionCreated()}</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">     * or {@link #fireExceptionCaught(Throwable)} is invoked.</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">     */</em>
<a name="53" href="#53">53</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a> SESSION_CREATED_FUTURE = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/session/AttributeKey.html">AttributeKey</a>(
<a name="54" href="#54">54</a>              DefaultIoFilterChain.<strong class="jxr_keyword">class</strong>, <span class="jxr_string">"connectFuture"</span>);
<a name="55" href="#55">55</a>  
<a name="56" href="#56">56</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The associated session */</em>
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> session;
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String, Entry&gt; name2entry = <strong class="jxr_keyword">new</strong> HashMap&lt;String, Entry&gt;();
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The chain head */</em>
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> head;
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The chain tail */</em>
<a name="65" href="#65">65</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> tail;
<a name="66" href="#66">66</a>  
<a name="67" href="#67">67</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The logger for this class */</em>
<a name="68" href="#68">68</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">static</strong> Logger LOGGER = LoggerFactory.getLogger(DefaultIoFilterChain.<strong class="jxr_keyword">class</strong>);
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>      <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     * Create a new default chain, associated with a session. It will only contain a</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">     * HeadFilter and a TailFilter.</em>
<a name="74" href="#74">74</a>  <em class="jxr_javadoccomment">     *</em>
<a name="75" href="#75">75</a>  <em class="jxr_javadoccomment">     * @param session The session associated with the created filter chain</em>
<a name="76" href="#76">76</a>  <em class="jxr_javadoccomment">     */</em>
<a name="77" href="#77">77</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">DefaultIoFilterChain</a>(<a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> session) {
<a name="78" href="#78">78</a>          <strong class="jxr_keyword">if</strong> (session == <strong class="jxr_keyword">null</strong>) {
<a name="79" href="#79">79</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"session"</span>);
<a name="80" href="#80">80</a>          }
<a name="81" href="#81">81</a>  
<a name="82" href="#82">82</a>          <strong class="jxr_keyword">this</strong>.session = session;
<a name="83" href="#83">83</a>          head = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(<strong class="jxr_keyword">null</strong>, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"head"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">HeadFilter</a>());
<a name="84" href="#84">84</a>          tail = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(head, <strong class="jxr_keyword">null</strong>, <span class="jxr_string">"tail"</span>, <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">TailFilter</a>());
<a name="85" href="#85">85</a>          head.nextEntry = tail;
<a name="86" href="#86">86</a>      }
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> getSession() {
<a name="89" href="#89">89</a>          <strong class="jxr_keyword">return</strong> session;
<a name="90" href="#90">90</a>      }
<a name="91" href="#91">91</a>  
<a name="92" href="#92">92</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(String name) {
<a name="93" href="#93">93</a>          <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = name2entry.get(name);
<a name="94" href="#94">94</a>          <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="95" href="#95">95</a>              <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="96" href="#96">96</a>          }
<a name="97" href="#97">97</a>          <strong class="jxr_keyword">return</strong> e;
<a name="98" href="#98">98</a>      }
<a name="99" href="#99">99</a>  
<a name="100" href="#100">100</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="101" href="#101">101</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="102" href="#102">102</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="103" href="#103">103</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == filter) {
<a name="104" href="#104">104</a>                 <strong class="jxr_keyword">return</strong> e;
<a name="105" href="#105">105</a>             }
<a name="106" href="#106">106</a>             e = e.nextEntry;
<a name="107" href="#107">107</a>         }
<a name="108" href="#108">108</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a> 
<a name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> getEntry(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="112" href="#112">112</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="113" href="#113">113</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="114" href="#114">114</a>             <strong class="jxr_keyword">if</strong> (filterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="115" href="#115">115</a>                 <strong class="jxr_keyword">return</strong> e;
<a name="116" href="#116">116</a>             }
<a name="117" href="#117">117</a>             e = e.nextEntry;
<a name="118" href="#118">118</a>         }
<a name="119" href="#119">119</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="120" href="#120">120</a>     }
<a name="121" href="#121">121</a> 
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> get(String name) {
<a name="123" href="#123">123</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(name);
<a name="124" href="#124">124</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="125" href="#125">125</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="126" href="#126">126</a>         }
<a name="127" href="#127">127</a> 
<a name="128" href="#128">128</a>         <strong class="jxr_keyword">return</strong> e.getFilter();
<a name="129" href="#129">129</a>     }
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> get(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="132" href="#132">132</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filterType);
<a name="133" href="#133">133</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="134" href="#134">134</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="135" href="#135">135</a>         }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>         <strong class="jxr_keyword">return</strong> e.getFilter();
<a name="138" href="#138">138</a>     }
<a name="139" href="#139">139</a> 
<a name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(String name) {
<a name="141" href="#141">141</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(name);
<a name="142" href="#142">142</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="143" href="#143">143</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="144" href="#144">144</a>         }
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="147" href="#147">147</a>     }
<a name="148" href="#148">148</a> 
<a name="149" href="#149">149</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="150" href="#150">150</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filter);
<a name="151" href="#151">151</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="152" href="#152">152</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="153" href="#153">153</a>         }
<a name="154" href="#154">154</a> 
<a name="155" href="#155">155</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="156" href="#156">156</a>     }
<a name="157" href="#157">157</a> 
<a name="158" href="#158">158</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="159" href="#159">159</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> e = getEntry(filterType);
<a name="160" href="#160">160</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="161" href="#161">161</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="162" href="#162">162</a>         }
<a name="163" href="#163">163</a> 
<a name="164" href="#164">164</a>         <strong class="jxr_keyword">return</strong> e.getNextFilter();
<a name="165" href="#165">165</a>     }
<a name="166" href="#166">166</a> 
<a name="167" href="#167">167</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addFirst(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="168" href="#168">168</a>         checkAddable(name);
<a name="169" href="#169">169</a>         register(head, name, filter);
<a name="170" href="#170">170</a>     }
<a name="171" href="#171">171</a> 
<a name="172" href="#172">172</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addLast(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="173" href="#173">173</a>         checkAddable(name);
<a name="174" href="#174">174</a>         register(tail.prevEntry, name, filter);
<a name="175" href="#175">175</a>     }
<a name="176" href="#176">176</a> 
<a name="177" href="#177">177</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addBefore(String baseName, String name,
<a name="178" href="#178">178</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="179" href="#179">179</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> baseEntry = checkOldName(baseName);
<a name="180" href="#180">180</a>         checkAddable(name);
<a name="181" href="#181">181</a>         register(baseEntry.prevEntry, name, filter);
<a name="182" href="#182">182</a>     }
<a name="183" href="#183">183</a> 
<a name="184" href="#184">184</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> addAfter(String baseName, String name,
<a name="185" href="#185">185</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="186" href="#186">186</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> baseEntry = checkOldName(baseName);
<a name="187" href="#187">187</a>         checkAddable(name);
<a name="188" href="#188">188</a>         register(baseEntry, name, filter);
<a name="189" href="#189">189</a>     }
<a name="190" href="#190">190</a> 
<a name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> remove(String name) {
<a name="192" href="#192">192</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry = checkOldName(name);
<a name="193" href="#193">193</a>         deregister(entry);
<a name="194" href="#194">194</a>         <strong class="jxr_keyword">return</strong> entry.getFilter();
<a name="195" href="#195">195</a>     }
<a name="196" href="#196">196</a> 
<a name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> remove(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="198" href="#198">198</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="199" href="#199">199</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="200" href="#200">200</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == filter) {
<a name="201" href="#201">201</a>                 deregister(e);
<a name="202" href="#202">202</a>                 <strong class="jxr_keyword">return</strong>;
<a name="203" href="#203">203</a>             }
<a name="204" href="#204">204</a>             e = e.nextEntry;
<a name="205" href="#205">205</a>         }
<a name="206" href="#206">206</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="207" href="#207">207</a>                 + filter.getClass().getName());
<a name="208" href="#208">208</a>     }
<a name="209" href="#209">209</a> 
<a name="210" href="#210">210</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> remove(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="211" href="#211">211</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="212" href="#212">212</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="213" href="#213">213</a>             <strong class="jxr_keyword">if</strong> (filterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="214" href="#214">214</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = e.getFilter();
<a name="215" href="#215">215</a>                 deregister(e);
<a name="216" href="#216">216</a>                 <strong class="jxr_keyword">return</strong> oldFilter;
<a name="217" href="#217">217</a>             }
<a name="218" href="#218">218</a>             e = e.nextEntry;
<a name="219" href="#219">219</a>         }
<a name="220" href="#220">220</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="221" href="#221">221</a>                 + filterType.getName());
<a name="222" href="#222">222</a>     }
<a name="223" href="#223">223</a> 
<a name="224" href="#224">224</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> replace(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="225" href="#225">225</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry = checkOldName(name);
<a name="226" href="#226">226</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = entry.getFilter();
<a name="227" href="#227">227</a>         entry.setFilter(newFilter);
<a name="228" href="#228">228</a>         <strong class="jxr_keyword">return</strong> oldFilter;
<a name="229" href="#229">229</a>     }
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> replace(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="232" href="#232">232</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="233" href="#233">233</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="234" href="#234">234</a>             <strong class="jxr_keyword">if</strong> (e.getFilter() == oldFilter) {
<a name="235" href="#235">235</a>                 e.setFilter(newFilter);
<a name="236" href="#236">236</a>                 <strong class="jxr_keyword">return</strong>;
<a name="237" href="#237">237</a>             }
<a name="238" href="#238">238</a>             e = e.nextEntry;
<a name="239" href="#239">239</a>         }
<a name="240" href="#240">240</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="241" href="#241">241</a>                 + oldFilter.getClass().getName());
<a name="242" href="#242">242</a>     }
<a name="243" href="#243">243</a> 
<a name="244" href="#244">244</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> replace(
<a name="245" href="#245">245</a>             Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; oldFilterType, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="246" href="#246">246</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="247" href="#247">247</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="248" href="#248">248</a>             <strong class="jxr_keyword">if</strong> (oldFilterType.isAssignableFrom(e.getFilter().getClass())) {
<a name="249" href="#249">249</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> oldFilter = e.getFilter();
<a name="250" href="#250">250</a>                 e.setFilter(newFilter);
<a name="251" href="#251">251</a>                 <strong class="jxr_keyword">return</strong> oldFilter;
<a name="252" href="#252">252</a>             }
<a name="253" href="#253">253</a>             e = e.nextEntry;
<a name="254" href="#254">254</a>         }
<a name="255" href="#255">255</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found: "</span>
<a name="256" href="#256">256</a>                 + oldFilterType.getName());
<a name="257" href="#257">257</a>     }
<a name="258" href="#258">258</a> 
<a name="259" href="#259">259</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> clear() <strong class="jxr_keyword">throws</strong> Exception {
<a name="260" href="#260">260</a>         List&lt;IoFilterChain.Entry&gt; l = <strong class="jxr_keyword">new</strong> ArrayList&lt;IoFilterChain.Entry&gt;(
<a name="261" href="#261">261</a>                 name2entry.values());
<a name="262" href="#262">262</a>         <strong class="jxr_keyword">for</strong> (IoFilterChain.Entry entry : l) {
<a name="263" href="#263">263</a>             <strong class="jxr_keyword">try</strong> {
<a name="264" href="#264">264</a>                 deregister((EntryImpl) entry);
<a name="265" href="#265">265</a>             } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="266" href="#266">266</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"clear(): "</span>
<a name="267" href="#267">267</a>                         + entry.getName() + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="268" href="#268">268</a>             }
<a name="269" href="#269">269</a>         }
<a name="270" href="#270">270</a>     }
<a name="271" href="#271">271</a> 
<a name="272" href="#272">272</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> register(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry, String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="273" href="#273">273</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> newEntry = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(prevEntry, prevEntry.nextEntry,
<a name="274" href="#274">274</a>                 name, filter);
<a name="275" href="#275">275</a> 
<a name="276" href="#276">276</a>         <strong class="jxr_keyword">try</strong> {
<a name="277" href="#277">277</a>             filter.onPreAdd(<strong class="jxr_keyword">this</strong>, name, newEntry.getNextFilter());
<a name="278" href="#278">278</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="279" href="#279">279</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPreAdd(): "</span> + name + ':'
<a name="280" href="#280">280</a>                     + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="281" href="#281">281</a>         }
<a name="282" href="#282">282</a> 
<a name="283" href="#283">283</a>         prevEntry.nextEntry.prevEntry = newEntry;
<a name="284" href="#284">284</a>         prevEntry.nextEntry = newEntry;
<a name="285" href="#285">285</a>         name2entry.put(name, newEntry);
<a name="286" href="#286">286</a> 
<a name="287" href="#287">287</a>         <strong class="jxr_keyword">try</strong> {
<a name="288" href="#288">288</a>             filter.onPostAdd(<strong class="jxr_keyword">this</strong>, name, newEntry.getNextFilter());
<a name="289" href="#289">289</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="290" href="#290">290</a>             deregister0(newEntry);
<a name="291" href="#291">291</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPostAdd(): "</span> + name + ':'
<a name="292" href="#292">292</a>                     + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="293" href="#293">293</a>         }
<a name="294" href="#294">294</a>     }
<a name="295" href="#295">295</a> 
<a name="296" href="#296">296</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> deregister(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry) {
<a name="297" href="#297">297</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="298" href="#298">298</a> 
<a name="299" href="#299">299</a>         <strong class="jxr_keyword">try</strong> {
<a name="300" href="#300">300</a>             filter.onPreRemove(<strong class="jxr_keyword">this</strong>, entry.getName(), entry.getNextFilter());
<a name="301" href="#301">301</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="302" href="#302">302</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPreRemove(): "</span>
<a name="303" href="#303">303</a>                     + entry.getName() + ':' + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="304" href="#304">304</a>         }
<a name="305" href="#305">305</a> 
<a name="306" href="#306">306</a>         deregister0(entry);
<a name="307" href="#307">307</a> 
<a name="308" href="#308">308</a>         <strong class="jxr_keyword">try</strong> {
<a name="309" href="#309">309</a>             filter.onPostRemove(<strong class="jxr_keyword">this</strong>, entry.getName(), entry.getNextFilter());
<a name="310" href="#310">310</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
<a name="311" href="#311">311</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterLifeCycleException.html">IoFilterLifeCycleException</a>(<span class="jxr_string">"onPostRemove(): "</span>
<a name="312" href="#312">312</a>                     + entry.getName() + ':' + filter + <span class="jxr_string">" in "</span> + getSession(), e);
<a name="313" href="#313">313</a>         }
<a name="314" href="#314">314</a>     }
<a name="315" href="#315">315</a> 
<a name="316" href="#316">316</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> deregister0(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> entry) {
<a name="317" href="#317">317</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry = entry.prevEntry;
<a name="318" href="#318">318</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry = entry.nextEntry;
<a name="319" href="#319">319</a>         prevEntry.nextEntry = nextEntry;
<a name="320" href="#320">320</a>         nextEntry.prevEntry = prevEntry;
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>         name2entry.remove(entry.name);
<a name="323" href="#323">323</a>     }
<a name="324" href="#324">324</a> 
<a name="325" href="#325">325</a>     <em class="jxr_javadoccomment">/**</em>
<a name="326" href="#326">326</a> <em class="jxr_javadoccomment">     * Throws an exception when the specified filter name is not registered in this chain.</em>
<a name="327" href="#327">327</a> <em class="jxr_javadoccomment">     *</em>
<a name="328" href="#328">328</a> <em class="jxr_javadoccomment">     * @return An filter entry with the specified name.</em>
<a name="329" href="#329">329</a> <em class="jxr_javadoccomment">     */</em>
<a name="330" href="#330">330</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> checkOldName(String baseName) {
<a name="331" href="#331">331</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = (EntryImpl) name2entry.get(baseName);
<a name="332" href="#332">332</a>         <strong class="jxr_keyword">if</strong> (e == <strong class="jxr_keyword">null</strong>) {
<a name="333" href="#333">333</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"Filter not found:"</span> + baseName);
<a name="334" href="#334">334</a>         }
<a name="335" href="#335">335</a>         <strong class="jxr_keyword">return</strong> e;
<a name="336" href="#336">336</a>     }
<a name="337" href="#337">337</a> 
<a name="338" href="#338">338</a>     <em class="jxr_javadoccomment">/**</em>
<a name="339" href="#339">339</a> <em class="jxr_javadoccomment">     * Checks the specified filter name is already taken and throws an exception if already taken.</em>
<a name="340" href="#340">340</a> <em class="jxr_javadoccomment">     */</em>
<a name="341" href="#341">341</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkAddable(String name) {
<a name="342" href="#342">342</a>         <strong class="jxr_keyword">if</strong> (name2entry.containsKey(name)) {
<a name="343" href="#343">343</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a name="344" href="#344">344</a>                     <span class="jxr_string">"Other filter is using the same name '"</span> + name + <span class="jxr_string">"'"</span>);
<a name="345" href="#345">345</a>         }
<a name="346" href="#346">346</a>     }
<a name="347" href="#347">347</a> 
<a name="348" href="#348">348</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionCreated() {
<a name="349" href="#349">349</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="350" href="#350">350</a>         callNextSessionCreated(head, session);
<a name="351" href="#351">351</a>     }
<a name="352" href="#352">352</a> 
<a name="353" href="#353">353</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionCreated(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="354" href="#354">354</a>         <strong class="jxr_keyword">try</strong> {
<a name="355" href="#355">355</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="356" href="#356">356</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="357" href="#357">357</a>             filter.sessionCreated(nextFilter, session);
<a name="358" href="#358">358</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="359" href="#359">359</a>             fireExceptionCaught(e);
<a name="360" href="#360">360</a>         }
<a name="361" href="#361">361</a>     }
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionOpened() {
<a name="364" href="#364">364</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="365" href="#365">365</a>         callNextSessionOpened(head, session);
<a name="366" href="#366">366</a>     }
<a name="367" href="#367">367</a> 
<a name="368" href="#368">368</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionOpened(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="369" href="#369">369</a>         <strong class="jxr_keyword">try</strong> {
<a name="370" href="#370">370</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="371" href="#371">371</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="372" href="#372">372</a>             filter.sessionOpened(nextFilter, session);
<a name="373" href="#373">373</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="374" href="#374">374</a>             fireExceptionCaught(e);
<a name="375" href="#375">375</a>         }
<a name="376" href="#376">376</a>     }
<a name="377" href="#377">377</a> 
<a name="378" href="#378">378</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionClosed() {
<a name="379" href="#379">379</a>         <em class="jxr_comment">// Update future.</em>
<a name="380" href="#380">380</a>         <strong class="jxr_keyword">try</strong> {
<a name="381" href="#381">381</a>             session.getCloseFuture().setClosed();
<a name="382" href="#382">382</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="383" href="#383">383</a>             fireExceptionCaught(t);
<a name="384" href="#384">384</a>         }
<a name="385" href="#385">385</a> 
<a name="386" href="#386">386</a>         <em class="jxr_comment">// And start the chain.</em>
<a name="387" href="#387">387</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="388" href="#388">388</a>         callNextSessionClosed(head, session);
<a name="389" href="#389">389</a>     }
<a name="390" href="#390">390</a> 
<a name="391" href="#391">391</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionClosed(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="392" href="#392">392</a>         <strong class="jxr_keyword">try</strong> {
<a name="393" href="#393">393</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="394" href="#394">394</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="395" href="#395">395</a>             filter.sessionClosed(nextFilter, session);
<a name="396" href="#396">396</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="397" href="#397">397</a>             fireExceptionCaught(e);
<a name="398" href="#398">398</a>         }
<a name="399" href="#399">399</a>     }
<a name="400" href="#400">400</a> 
<a name="401" href="#401">401</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireSessionIdle(<a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="402" href="#402">402</a>         session.increaseIdleCount(status, System.currentTimeMillis());
<a name="403" href="#403">403</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="404" href="#404">404</a>         callNextSessionIdle(head, session, status);
<a name="405" href="#405">405</a>     }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextSessionIdle(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="408" href="#408">408</a>             <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="409" href="#409">409</a>         <strong class="jxr_keyword">try</strong> {
<a name="410" href="#410">410</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="411" href="#411">411</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="412" href="#412">412</a>             filter.sessionIdle(nextFilter, session,
<a name="413" href="#413">413</a>                     status);
<a name="414" href="#414">414</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="415" href="#415">415</a>             fireExceptionCaught(e);
<a name="416" href="#416">416</a>         }
<a name="417" href="#417">417</a>     }
<a name="418" href="#418">418</a> 
<a name="419" href="#419">419</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireMessageReceived(Object message) {
<a name="420" href="#420">420</a>         <strong class="jxr_keyword">if</strong> (message instanceof IoBuffer) {
<a name="421" href="#421">421</a>             session.increaseReadBytes(((IoBuffer) message).remaining(), System
<a name="422" href="#422">422</a>                     .currentTimeMillis());
<a name="423" href="#423">423</a>         }
<a name="424" href="#424">424</a> 
<a name="425" href="#425">425</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="426" href="#426">426</a>         callNextMessageReceived(head, session, message);
<a name="427" href="#427">427</a>     }
<a name="428" href="#428">428</a> 
<a name="429" href="#429">429</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextMessageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="430" href="#430">430</a>             Object message) {
<a name="431" href="#431">431</a>         <strong class="jxr_keyword">try</strong> {
<a name="432" href="#432">432</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="433" href="#433">433</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="434" href="#434">434</a>             filter.messageReceived(nextFilter, session,
<a name="435" href="#435">435</a>                     message);
<a name="436" href="#436">436</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="437" href="#437">437</a>             fireExceptionCaught(e);
<a name="438" href="#438">438</a>         }
<a name="439" href="#439">439</a>     }
<a name="440" href="#440">440</a> 
<a name="441" href="#441">441</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireMessageSent(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> request) {
<a name="442" href="#442">442</a>         session.increaseWrittenMessages(request, System.currentTimeMillis());
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>         <strong class="jxr_keyword">try</strong> {
<a name="445" href="#445">445</a>             request.getFuture().setWritten();
<a name="446" href="#446">446</a>         } <strong class="jxr_keyword">catch</strong> (Throwable t) {
<a name="447" href="#447">447</a>             fireExceptionCaught(t);
<a name="448" href="#448">448</a>         }
<a name="449" href="#449">449</a> 
<a name="450" href="#450">450</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="451" href="#451">451</a>         callNextMessageSent(head, session, request);
<a name="452" href="#452">452</a>     }
<a name="453" href="#453">453</a> 
<a name="454" href="#454">454</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextMessageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="455" href="#455">455</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="456" href="#456">456</a>         <strong class="jxr_keyword">try</strong> {
<a name="457" href="#457">457</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="458" href="#458">458</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="459" href="#459">459</a>             filter.messageSent(nextFilter, session,
<a name="460" href="#460">460</a>                     writeRequest);
<a name="461" href="#461">461</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="462" href="#462">462</a>             fireExceptionCaught(e);
<a name="463" href="#463">463</a>         }
<a name="464" href="#464">464</a>     }
<a name="465" href="#465">465</a> 
<a name="466" href="#466">466</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireExceptionCaught(Throwable cause) {
<a name="467" href="#467">467</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> head = <strong class="jxr_keyword">this</strong>.head;
<a name="468" href="#468">468</a>         callNextExceptionCaught(head, session, cause);
<a name="469" href="#469">469</a>     }
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callNextExceptionCaught(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="472" href="#472">472</a>             Throwable cause) {
<a name="473" href="#473">473</a>         <em class="jxr_comment">// Notify the related future.</em>
<a name="474" href="#474">474</a>         <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html">ConnectFuture</a> future = (ConnectFuture) session
<a name="475" href="#475">475</a>                 .removeAttribute(SESSION_CREATED_FUTURE);
<a name="476" href="#476">476</a>         <strong class="jxr_keyword">if</strong> (future == <strong class="jxr_keyword">null</strong>) {
<a name="477" href="#477">477</a>             <strong class="jxr_keyword">try</strong> {
<a name="478" href="#478">478</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="479" href="#479">479</a>                 <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="480" href="#480">480</a>                 filter.exceptionCaught(nextFilter,
<a name="481" href="#481">481</a>                         session, cause);
<a name="482" href="#482">482</a>             } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="483" href="#483">483</a>                 LOGGER
<a name="484" href="#484">484</a>                         .warn(
<a name="485" href="#485">485</a>                                 <span class="jxr_string">"Unexpected exception from exceptionCaught handler."</span>,
<a name="486" href="#486">486</a>                                 e);
<a name="487" href="#487">487</a>             }
<a name="488" href="#488">488</a>         } <strong class="jxr_keyword">else</strong> {
<a name="489" href="#489">489</a>             <em class="jxr_comment">// Please note that this place is not the only place that</em>
<a name="490" href="#490">490</a>             <em class="jxr_comment">// calls ConnectFuture.setException().</em>
<a name="491" href="#491">491</a>             session.close(<strong class="jxr_keyword">true</strong>);
<a name="492" href="#492">492</a>             future.setException(cause);
<a name="493" href="#493">493</a>         }
<a name="494" href="#494">494</a>     }
<a name="495" href="#495">495</a> 
<a name="496" href="#496">496</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireFilterWrite(<a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="497" href="#497">497</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> tail = <strong class="jxr_keyword">this</strong>.tail;
<a name="498" href="#498">498</a>         callPreviousFilterWrite(tail, session, writeRequest);
<a name="499" href="#499">499</a>     }
<a name="500" href="#500">500</a> 
<a name="501" href="#501">501</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callPreviousFilterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="502" href="#502">502</a>             <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="503" href="#503">503</a>         <strong class="jxr_keyword">try</strong> {
<a name="504" href="#504">504</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="505" href="#505">505</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="506" href="#506">506</a>             filter.filterWrite(nextFilter, session, writeRequest);
<a name="507" href="#507">507</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="508" href="#508">508</a>             writeRequest.getFuture().setException(e);
<a name="509" href="#509">509</a>             fireExceptionCaught(e);
<a name="510" href="#510">510</a>         }
<a name="511" href="#511">511</a>     }
<a name="512" href="#512">512</a> 
<a name="513" href="#513">513</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> fireFilterClose() {
<a name="514" href="#514">514</a>         <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> tail = <strong class="jxr_keyword">this</strong>.tail;
<a name="515" href="#515">515</a>         callPreviousFilterClose(tail, session);
<a name="516" href="#516">516</a>     }
<a name="517" href="#517">517</a> 
<a name="518" href="#518">518</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callPreviousFilterClose(<a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> entry, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="519" href="#519">519</a>         <strong class="jxr_keyword">try</strong> {
<a name="520" href="#520">520</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter = entry.getFilter();
<a name="521" href="#521">521</a>             <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter = entry.getNextFilter();
<a name="522" href="#522">522</a>             filter.filterClose(nextFilter, session);
<a name="523" href="#523">523</a>         } <strong class="jxr_keyword">catch</strong> (Throwable e) {
<a name="524" href="#524">524</a>             fireExceptionCaught(e);
<a name="525" href="#525">525</a>         }
<a name="526" href="#526">526</a>     }
<a name="527" href="#527">527</a> 
<a name="528" href="#528">528</a>     <strong class="jxr_keyword">public</strong> List&lt;Entry&gt; getAll() {
<a name="529" href="#529">529</a>         List&lt;Entry&gt; list = <strong class="jxr_keyword">new</strong> ArrayList&lt;Entry&gt;();
<a name="530" href="#530">530</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="531" href="#531">531</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="532" href="#532">532</a>             list.add(e);
<a name="533" href="#533">533</a>             e = e.nextEntry;
<a name="534" href="#534">534</a>         }
<a name="535" href="#535">535</a> 
<a name="536" href="#536">536</a>         <strong class="jxr_keyword">return</strong> list;
<a name="537" href="#537">537</a>     }
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>     <strong class="jxr_keyword">public</strong> List&lt;Entry&gt; getAllReversed() {
<a name="540" href="#540">540</a>         List&lt;Entry&gt; list = <strong class="jxr_keyword">new</strong> ArrayList&lt;Entry&gt;();
<a name="541" href="#541">541</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = tail.prevEntry;
<a name="542" href="#542">542</a>         <strong class="jxr_keyword">while</strong> (e != head) {
<a name="543" href="#543">543</a>             list.add(e);
<a name="544" href="#544">544</a>             e = e.prevEntry;
<a name="545" href="#545">545</a>         }
<a name="546" href="#546">546</a>         <strong class="jxr_keyword">return</strong> list;
<a name="547" href="#547">547</a>     }
<a name="548" href="#548">548</a> 
<a name="549" href="#549">549</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(String name) {
<a name="550" href="#550">550</a>         <strong class="jxr_keyword">return</strong> getEntry(name) != <strong class="jxr_keyword">null</strong>;
<a name="551" href="#551">551</a>     }
<a name="552" href="#552">552</a> 
<a name="553" href="#553">553</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="554" href="#554">554</a>         <strong class="jxr_keyword">return</strong> getEntry(filter) != <strong class="jxr_keyword">null</strong>;
<a name="555" href="#555">555</a>     }
<a name="556" href="#556">556</a> 
<a name="557" href="#557">557</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> contains(Class&lt;? <strong class="jxr_keyword">extends</strong> IoFilter&gt; filterType) {
<a name="558" href="#558">558</a>         <strong class="jxr_keyword">return</strong> getEntry(filterType) != <strong class="jxr_keyword">null</strong>;
<a name="559" href="#559">559</a>     }
<a name="560" href="#560">560</a> 
<a name="561" href="#561">561</a>     @Override
<a name="562" href="#562">562</a>     <strong class="jxr_keyword">public</strong> String toString() {
<a name="563" href="#563">563</a>         StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
<a name="564" href="#564">564</a>         buf.append(<span class="jxr_string">"{ "</span>);
<a name="565" href="#565">565</a> 
<a name="566" href="#566">566</a>         <strong class="jxr_keyword">boolean</strong> empty = <strong class="jxr_keyword">true</strong>;
<a name="567" href="#567">567</a> 
<a name="568" href="#568">568</a>         <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> e = head.nextEntry;
<a name="569" href="#569">569</a>         <strong class="jxr_keyword">while</strong> (e != tail) {
<a name="570" href="#570">570</a>             <strong class="jxr_keyword">if</strong> (!empty) {
<a name="571" href="#571">571</a>                 buf.append(<span class="jxr_string">", "</span>);
<a name="572" href="#572">572</a>             } <strong class="jxr_keyword">else</strong> {
<a name="573" href="#573">573</a>                 empty = false;
<a name="574" href="#574">574</a>             }
<a name="575" href="#575">575</a> 
<a name="576" href="#576">576</a>             buf.append('(');
<a name="577" href="#577">577</a>             buf.append(e.getName());
<a name="578" href="#578">578</a>             buf.append(':');
<a name="579" href="#579">579</a>             buf.append(e.getFilter());
<a name="580" href="#580">580</a>             buf.append(')');
<a name="581" href="#581">581</a> 
<a name="582" href="#582">582</a>             e = e.nextEntry;
<a name="583" href="#583">583</a>         }
<a name="584" href="#584">584</a> 
<a name="585" href="#585">585</a>         <strong class="jxr_keyword">if</strong> (empty) {
<a name="586" href="#586">586</a>             buf.append(<span class="jxr_string">"empty"</span>);
<a name="587" href="#587">587</a>         }
<a name="588" href="#588">588</a> 
<a name="589" href="#589">589</a>         buf.append(<span class="jxr_string">" }"</span>);
<a name="590" href="#590">590</a> 
<a name="591" href="#591">591</a>         <strong class="jxr_keyword">return</strong> buf.toString();
<a name="592" href="#592">592</a>     }
<a name="593" href="#593">593</a> 
<a name="594" href="#594">594</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">HeadFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="595" href="#595">595</a>         @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="596" href="#596">596</a>         @Override
<a name="597" href="#597">597</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="598" href="#598">598</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="599" href="#599">599</a> 
<a name="600" href="#600">600</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="601" href="#601">601</a> 
<a name="602" href="#602">602</a>             <em class="jxr_comment">// Maintain counters.</em>
<a name="603" href="#603">603</a>             <strong class="jxr_keyword">if</strong> (writeRequest.getMessage() instanceof IoBuffer) {
<a name="604" href="#604">604</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> buffer = (IoBuffer) writeRequest.getMessage();
<a name="605" href="#605">605</a>                 <em class="jxr_comment">// I/O processor implementation will call buffer.reset()</em>
<a name="606" href="#606">606</a>                 <em class="jxr_comment">// it after the write operation is finished, because</em>
<a name="607" href="#607">607</a>                 <em class="jxr_comment">// the buffer will be specified with messageSent event.</em>
<a name="608" href="#608">608</a>                 buffer.mark();
<a name="609" href="#609">609</a>                 <strong class="jxr_keyword">int</strong> remaining = buffer.remaining();
<a name="610" href="#610">610</a>                 <strong class="jxr_keyword">if</strong> (remaining == 0) {
<a name="611" href="#611">611</a>                     <em class="jxr_comment">// Zero-sized buffer means the internal message</em>
<a name="612" href="#612">612</a>                     <em class="jxr_comment">// delimiter.</em>
<a name="613" href="#613">613</a>                     s.increaseScheduledWriteMessages();
<a name="614" href="#614">614</a>                 } <strong class="jxr_keyword">else</strong> {
<a name="615" href="#615">615</a>                     s.increaseScheduledWriteBytes(remaining);
<a name="616" href="#616">616</a>                 }
<a name="617" href="#617">617</a>             } <strong class="jxr_keyword">else</strong> {
<a name="618" href="#618">618</a>                 s.increaseScheduledWriteMessages();
<a name="619" href="#619">619</a>             }
<a name="620" href="#620">620</a> 
<a name="621" href="#621">621</a>             s.getWriteRequestQueue().offer(s, writeRequest);
<a name="622" href="#622">622</a>             <strong class="jxr_keyword">if</strong> (!s.isWriteSuspended()) {
<a name="623" href="#623">623</a>                 s.getProcessor().flush(s);
<a name="624" href="#624">624</a>             }
<a name="625" href="#625">625</a>         }
<a name="626" href="#626">626</a> 
<a name="627" href="#627">627</a>         @SuppressWarnings(<span class="jxr_string">"unchecked"</span>)
<a name="628" href="#628">628</a>         @Override
<a name="629" href="#629">629</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="630" href="#630">630</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="631" href="#631">631</a>             ((<a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a>) session).getProcessor().remove(((AbstractIoSession) session));
<a name="632" href="#632">632</a>         }
<a name="633" href="#633">633</a>     }
<a name="634" href="#634">634</a> 
<a name="635" href="#635">635</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">TailFilter</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilterAdapter.html">IoFilterAdapter</a> {
<a name="636" href="#636">636</a>         @Override
<a name="637" href="#637">637</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="638" href="#638">638</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="639" href="#639">639</a>             <strong class="jxr_keyword">try</strong> {
<a name="640" href="#640">640</a>                 session.getHandler().sessionCreated(session);
<a name="641" href="#641">641</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="642" href="#642">642</a>                 <em class="jxr_comment">// Notify the related future.</em>
<a name="643" href="#643">643</a>                 <a href="../../../../../org/apache/mina/core/future/ConnectFuture.html">ConnectFuture</a> future = (ConnectFuture) session
<a name="644" href="#644">644</a>                         .removeAttribute(SESSION_CREATED_FUTURE);
<a name="645" href="#645">645</a>                 <strong class="jxr_keyword">if</strong> (future != <strong class="jxr_keyword">null</strong>) {
<a name="646" href="#646">646</a>                     future.setSession(session);
<a name="647" href="#647">647</a>                 }
<a name="648" href="#648">648</a>             }
<a name="649" href="#649">649</a>         }
<a name="650" href="#650">650</a> 
<a name="651" href="#651">651</a>         @Override
<a name="652" href="#652">652</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="653" href="#653">653</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="654" href="#654">654</a>             session.getHandler().sessionOpened(session);
<a name="655" href="#655">655</a>         }
<a name="656" href="#656">656</a> 
<a name="657" href="#657">657</a>         @Override
<a name="658" href="#658">658</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="659" href="#659">659</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="660" href="#660">660</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="661" href="#661">661</a>             <strong class="jxr_keyword">try</strong> {
<a name="662" href="#662">662</a>                 s.getHandler().sessionClosed(session);
<a name="663" href="#663">663</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="664" href="#664">664</a>                 <strong class="jxr_keyword">try</strong> {
<a name="665" href="#665">665</a>                     s.getWriteRequestQueue().dispose(session);
<a name="666" href="#666">666</a>                 } <strong class="jxr_keyword">finally</strong> {
<a name="667" href="#667">667</a>                     <strong class="jxr_keyword">try</strong> {
<a name="668" href="#668">668</a>                         s.getAttributeMap().dispose(session);
<a name="669" href="#669">669</a>                     } <strong class="jxr_keyword">finally</strong> {
<a name="670" href="#670">670</a>                         <strong class="jxr_keyword">try</strong> {
<a name="671" href="#671">671</a>                             <em class="jxr_comment">// Remove all filters.</em>
<a name="672" href="#672">672</a>                             session.getFilterChain().clear();
<a name="673" href="#673">673</a>                         } <strong class="jxr_keyword">finally</strong> {
<a name="674" href="#674">674</a>                             <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="675" href="#675">675</a>                                 s.offerClosedReadFuture();
<a name="676" href="#676">676</a>                             }
<a name="677" href="#677">677</a>                         }
<a name="678" href="#678">678</a>                     }
<a name="679" href="#679">679</a>                 }
<a name="680" href="#680">680</a>             }
<a name="681" href="#681">681</a>         }
<a name="682" href="#682">682</a> 
<a name="683" href="#683">683</a>         @Override
<a name="684" href="#684">684</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="685" href="#685">685</a>                 <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) <strong class="jxr_keyword">throws</strong> Exception {
<a name="686" href="#686">686</a>             session.getHandler().sessionIdle(session, status);
<a name="687" href="#687">687</a>         }
<a name="688" href="#688">688</a> 
<a name="689" href="#689">689</a>         @Override
<a name="690" href="#690">690</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="691" href="#691">691</a>                 Throwable cause) <strong class="jxr_keyword">throws</strong> Exception {
<a name="692" href="#692">692</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="693" href="#693">693</a>             <strong class="jxr_keyword">try</strong> {
<a name="694" href="#694">694</a>                 s.getHandler().exceptionCaught(s, cause);
<a name="695" href="#695">695</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="696" href="#696">696</a>                 <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="697" href="#697">697</a>                     s.offerFailedReadFuture(cause);
<a name="698" href="#698">698</a>                 }
<a name="699" href="#699">699</a>             }
<a name="700" href="#700">700</a>         }
<a name="701" href="#701">701</a> 
<a name="702" href="#702">702</a>         @Override
<a name="703" href="#703">703</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="704" href="#704">704</a>                 Object message) <strong class="jxr_keyword">throws</strong> Exception {
<a name="705" href="#705">705</a>             <a href="../../../../../org/apache/mina/core/session/AbstractIoSession.html">AbstractIoSession</a> s = (AbstractIoSession) session;
<a name="706" href="#706">706</a>             <strong class="jxr_keyword">if</strong> (!(message instanceof IoBuffer)) {
<a name="707" href="#707">707</a>                 s.increaseReadMessages(System.currentTimeMillis());
<a name="708" href="#708">708</a>             } <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> (!((IoBuffer) message).hasRemaining()) {
<a name="709" href="#709">709</a>                 s.increaseReadMessages(System.currentTimeMillis());
<a name="710" href="#710">710</a>             }
<a name="711" href="#711">711</a> 
<a name="712" href="#712">712</a>             <strong class="jxr_keyword">try</strong> {
<a name="713" href="#713">713</a>                 session.getHandler().messageReceived(s, message);
<a name="714" href="#714">714</a>             } <strong class="jxr_keyword">finally</strong> {
<a name="715" href="#715">715</a>                 <strong class="jxr_keyword">if</strong> (s.getConfig().isUseReadOperation()) {
<a name="716" href="#716">716</a>                     s.offerReadFuture(message);
<a name="717" href="#717">717</a>                 }
<a name="718" href="#718">718</a>             }
<a name="719" href="#719">719</a>         }
<a name="720" href="#720">720</a> 
<a name="721" href="#721">721</a>         @Override
<a name="722" href="#722">722</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="723" href="#723">723</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="724" href="#724">724</a>             session.getHandler()
<a name="725" href="#725">725</a>                     .messageSent(session, writeRequest.getMessage());
<a name="726" href="#726">726</a>         }
<a name="727" href="#727">727</a> 
<a name="728" href="#728">728</a>         @Override
<a name="729" href="#729">729</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="730" href="#730">730</a>                 <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) <strong class="jxr_keyword">throws</strong> Exception {
<a name="731" href="#731">731</a>             nextFilter.filterWrite(session, writeRequest);
<a name="732" href="#732">732</a>         }
<a name="733" href="#733">733</a> 
<a name="734" href="#734">734</a>         @Override
<a name="735" href="#735">735</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session)
<a name="736" href="#736">736</a>                 <strong class="jxr_keyword">throws</strong> Exception {
<a name="737" href="#737">737</a>             nextFilter.filterClose(session);
<a name="738" href="#738">738</a>         }
<a name="739" href="#739">739</a>     }
<a name="740" href="#740">740</a> 
<a name="741" href="#741">741</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> implements <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> {
<a name="742" href="#742">742</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry;
<a name="743" href="#743">743</a> 
<a name="744" href="#744">744</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry;
<a name="745" href="#745">745</a> 
<a name="746" href="#746">746</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String name;
<a name="747" href="#747">747</a> 
<a name="748" href="#748">748</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter;
<a name="749" href="#749">749</a> 
<a name="750" href="#750">750</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> nextFilter;
<a name="751" href="#751">751</a> 
<a name="752" href="#752">752</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a>(<a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> prevEntry, <a href="../../../../../org/apache/mina/core/filterchain/DefaultIoFilterChain.html">EntryImpl</a> nextEntry,
<a name="753" href="#753">753</a>                 String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="754" href="#754">754</a>             <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
<a name="755" href="#755">755</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"filter"</span>);
<a name="756" href="#756">756</a>             }
<a name="757" href="#757">757</a>             <strong class="jxr_keyword">if</strong> (name == <strong class="jxr_keyword">null</strong>) {
<a name="758" href="#758">758</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"name"</span>);
<a name="759" href="#759">759</a>             }
<a name="760" href="#760">760</a> 
<a name="761" href="#761">761</a>             <strong class="jxr_keyword">this</strong>.prevEntry = prevEntry;
<a name="762" href="#762">762</a>             <strong class="jxr_keyword">this</strong>.nextEntry = nextEntry;
<a name="763" href="#763">763</a>             <strong class="jxr_keyword">this</strong>.name = name;
<a name="764" href="#764">764</a>             <strong class="jxr_keyword">this</strong>.filter = filter;
<a name="765" href="#765">765</a>             <strong class="jxr_keyword">this</strong>.nextFilter = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a>() {
<a name="766" href="#766">766</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionCreated(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="767" href="#767">767</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="768" href="#768">768</a>                     callNextSessionCreated(nextEntry, session);
<a name="769" href="#769">769</a>                 }
<a name="770" href="#770">770</a> 
<a name="771" href="#771">771</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionOpened(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="772" href="#772">772</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="773" href="#773">773</a>                     callNextSessionOpened(nextEntry, session);
<a name="774" href="#774">774</a>                 }
<a name="775" href="#775">775</a> 
<a name="776" href="#776">776</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionClosed(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="777" href="#777">777</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="778" href="#778">778</a>                     callNextSessionClosed(nextEntry, session);
<a name="779" href="#779">779</a>                 }
<a name="780" href="#780">780</a> 
<a name="781" href="#781">781</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> sessionIdle(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/core/session/IdleStatus.html">IdleStatus</a> status) {
<a name="782" href="#782">782</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="783" href="#783">783</a>                     callNextSessionIdle(nextEntry, session, status);
<a name="784" href="#784">784</a>                 }
<a name="785" href="#785">785</a> 
<a name="786" href="#786">786</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, Throwable cause) {
<a name="787" href="#787">787</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="788" href="#788">788</a>                     callNextExceptionCaught(nextEntry, session, cause);
<a name="789" href="#789">789</a>                 }
<a name="790" href="#790">790</a> 
<a name="791" href="#791">791</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageReceived(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, Object message) {
<a name="792" href="#792">792</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="793" href="#793">793</a>                     callNextMessageReceived(nextEntry, session, message);
<a name="794" href="#794">794</a>                 }
<a name="795" href="#795">795</a> 
<a name="796" href="#796">796</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> messageSent(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="797" href="#797">797</a>                         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="798" href="#798">798</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry;
<a name="799" href="#799">799</a>                     callNextMessageSent(nextEntry, session, writeRequest);
<a name="800" href="#800">800</a>                 }
<a name="801" href="#801">801</a> 
<a name="802" href="#802">802</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterWrite(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session,
<a name="803" href="#803">803</a>                         <a href="../../../../../org/apache/mina/core/write/WriteRequest.html">WriteRequest</a> writeRequest) {
<a name="804" href="#804">804</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.prevEntry;
<a name="805" href="#805">805</a>                     callPreviousFilterWrite(nextEntry, session, writeRequest);
<a name="806" href="#806">806</a>                 }
<a name="807" href="#807">807</a> 
<a name="808" href="#808">808</a>                 <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> filterClose(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="809" href="#809">809</a>                     <a href="../../../../../org/apache/mina/core/filterchain/IoFilterChain.html">Entry</a> nextEntry = EntryImpl.<strong class="jxr_keyword">this</strong>.prevEntry;
<a name="810" href="#810">810</a>                     callPreviousFilterClose(nextEntry, session);
<a name="811" href="#811">811</a>                 }
<a name="812" href="#812">812</a> 
<a name="813" href="#813">813</a>                 <strong class="jxr_keyword">public</strong> String toString() {
<a name="814" href="#814">814</a>                     <strong class="jxr_keyword">return</strong> EntryImpl.<strong class="jxr_keyword">this</strong>.nextEntry.name;
<a name="815" href="#815">815</a>                 }
<a name="816" href="#816">816</a>             };
<a name="817" href="#817">817</a>         }
<a name="818" href="#818">818</a> 
<a name="819" href="#819">819</a>         <strong class="jxr_keyword">public</strong> String getName() {
<a name="820" href="#820">820</a>             <strong class="jxr_keyword">return</strong> name;
<a name="821" href="#821">821</a>         }
<a name="822" href="#822">822</a> 
<a name="823" href="#823">823</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> getFilter() {
<a name="824" href="#824">824</a>             <strong class="jxr_keyword">return</strong> filter;
<a name="825" href="#825">825</a>         }
<a name="826" href="#826">826</a> 
<a name="827" href="#827">827</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> setFilter(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="828" href="#828">828</a>             <strong class="jxr_keyword">if</strong> (filter == <strong class="jxr_keyword">null</strong>) {
<a name="829" href="#829">829</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"filter"</span>);
<a name="830" href="#830">830</a>             }
<a name="831" href="#831">831</a> 
<a name="832" href="#832">832</a>             <strong class="jxr_keyword">this</strong>.filter = filter;
<a name="833" href="#833">833</a>         }
<a name="834" href="#834">834</a> 
<a name="835" href="#835">835</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">NextFilter</a> getNextFilter() {
<a name="836" href="#836">836</a>             <strong class="jxr_keyword">return</strong> nextFilter;
<a name="837" href="#837">837</a>         }
<a name="838" href="#838">838</a> 
<a name="839" href="#839">839</a>         @Override
<a name="840" href="#840">840</a>         <strong class="jxr_keyword">public</strong> String toString() {
<a name="841" href="#841">841</a>             StringBuilder sb = <strong class="jxr_keyword">new</strong> StringBuilder();
<a name="842" href="#842">842</a> 
<a name="843" href="#843">843</a>             <em class="jxr_comment">// Add the current filter</em>
<a name="844" href="#844">844</a>             sb.append(<span class="jxr_string">"('"</span>).append(getName()).append('\'');
<a name="845" href="#845">845</a> 
<a name="846" href="#846">846</a>             <em class="jxr_comment">// Add the previous filter</em>
<a name="847" href="#847">847</a>             sb.append(<span class="jxr_string">", prev: '"</span>);
<a name="848" href="#848">848</a> 
<a name="849" href="#849">849</a>             <strong class="jxr_keyword">if</strong> (prevEntry != <strong class="jxr_keyword">null</strong>) {
<a name="850" href="#850">850</a>                 sb.append(prevEntry.name);
<a name="851" href="#851">851</a>                 sb.append(':');
<a name="852" href="#852">852</a>                 sb.append(prevEntry.getFilter().getClass().getSimpleName());
<a name="853" href="#853">853</a>             } <strong class="jxr_keyword">else</strong> {
<a name="854" href="#854">854</a>                 sb.append(<span class="jxr_string">"null"</span>);
<a name="855" href="#855">855</a>             }
<a name="856" href="#856">856</a> 
<a name="857" href="#857">857</a>             <em class="jxr_comment">// Add the next filter</em>
<a name="858" href="#858">858</a>             sb.append(<span class="jxr_string">"', next: '"</span>);
<a name="859" href="#859">859</a> 
<a name="860" href="#860">860</a>             <strong class="jxr_keyword">if</strong> (nextEntry != <strong class="jxr_keyword">null</strong>) {
<a name="861" href="#861">861</a>                 sb.append(nextEntry.name);
<a name="862" href="#862">862</a>                 sb.append(':');
<a name="863" href="#863">863</a>                 sb.append(nextEntry.getFilter().getClass().getSimpleName());
<a name="864" href="#864">864</a>             } <strong class="jxr_keyword">else</strong> {
<a name="865" href="#865">865</a>                 sb.append(<span class="jxr_string">"null"</span>);
<a name="866" href="#866">866</a>             }
<a name="867" href="#867">867</a> 
<a name="868" href="#868">868</a>             sb.append(<span class="jxr_string">"')"</span>);
<a name="869" href="#869">869</a>             <strong class="jxr_keyword">return</strong> sb.toString();
<a name="870" href="#870">870</a>         }
<a name="871" href="#871">871</a> 
<a name="872" href="#872">872</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addAfter(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="873" href="#873">873</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.addAfter(getName(), name, filter);
<a name="874" href="#874">874</a>         }
<a name="875" href="#875">875</a> 
<a name="876" href="#876">876</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addBefore(String name, <a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> filter) {
<a name="877" href="#877">877</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.addBefore(getName(), name, filter);
<a name="878" href="#878">878</a>         }
<a name="879" href="#879">879</a> 
<a name="880" href="#880">880</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> remove() {
<a name="881" href="#881">881</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.remove(getName());
<a name="882" href="#882">882</a>         }
<a name="883" href="#883">883</a> 
<a name="884" href="#884">884</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> replace(<a href="../../../../../org/apache/mina/core/filterchain/IoFilter.html">IoFilter</a> newFilter) {
<a name="885" href="#885">885</a>             DefaultIoFilterChain.<strong class="jxr_keyword">this</strong>.replace(getName(), newFilter);
<a name="886" href="#886">886</a>         }
<a name="887" href="#887">887</a>     }
<a name="888" href="#888">888</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

