<!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_US" lang="en_US">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>AbstractIoBuffer xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/core/buffer/AbstractIoBuffer.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.core.buffer;
<a class="jxr_linenumber" name="21" href="#21">21</a>  
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.io.EOFException;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.io.InputStream;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.io.ObjectInputStream;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.ObjectOutputStream;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.io.ObjectStreamClass;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.io.OutputStream;
<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.io.StreamCorruptedException;
<a class="jxr_linenumber" name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> java.nio.BufferOverflowException;
<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> java.nio.BufferUnderflowException;
<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteBuffer;
<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteOrder;
<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.nio.CharBuffer;
<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.nio.DoubleBuffer;
<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> java.nio.FloatBuffer;
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> java.nio.IntBuffer;
<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> java.nio.LongBuffer;
<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> java.nio.ShortBuffer;
<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharacterCodingException;
<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharsetDecoder;
<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CharsetEncoder;
<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> java.nio.charset.CoderResult;
<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> java.util.EnumSet;
<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="46" href="#46">46</a>  
<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="48" href="#48">48</a>  <em class="jxr_javadoccomment"> * A base implementation of {@link IoBuffer}.  This implementation</em>
<a class="jxr_linenumber" name="49" href="#49">49</a>  <em class="jxr_javadoccomment"> * assumes that {@link IoBuffer#buf()} always returns a correct NIO</em>
<a class="jxr_linenumber" name="50" href="#50">50</a>  <em class="jxr_javadoccomment"> * {@link ByteBuffer} instance.  Most implementations could</em>
<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment"> * extend this class and implement their own buffer management mechanism.</em>
<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="53" href="#53">53</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 class="jxr_linenumber" name="54" href="#54">54</a>  <em class="jxr_javadoccomment"> * @see IoBufferAllocator</em>
<a class="jxr_linenumber" name="55" href="#55">55</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html">AbstractIoBuffer</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> {
<a class="jxr_linenumber" name="57" href="#57">57</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Tells if a buffer has been created from an existing buffer */</em>
<a class="jxr_linenumber" name="58" href="#58">58</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> derived;
<a class="jxr_linenumber" name="59" href="#59">59</a>  
<a class="jxr_linenumber" name="60" href="#60">60</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag set to true if the buffer can extend automatically */</em>
<a class="jxr_linenumber" name="61" href="#61">61</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> autoExpand;
<a class="jxr_linenumber" name="62" href="#62">62</a>  
<a class="jxr_linenumber" name="63" href="#63">63</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A flag set to true if the buffer can shrink automatically */</em>
<a class="jxr_linenumber" name="64" href="#64">64</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> autoShrink;
<a class="jxr_linenumber" name="65" href="#65">65</a>  
<a class="jxr_linenumber" name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Tells if a buffer can be expanded */</em>
<a class="jxr_linenumber" name="67" href="#67">67</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> recapacityAllowed = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="68" href="#68">68</a>  
<a class="jxr_linenumber" name="69" href="#69">69</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> The minimum number of bytes the <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> can hold */</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> minimumCapacity;
<a class="jxr_linenumber" name="71" href="#71">71</a>  
<a class="jxr_linenumber" name="72" href="#72">72</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A mask for a byte */</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> BYTE_MASK = 0xFFL;
<a class="jxr_linenumber" name="74" href="#74">74</a>  
<a class="jxr_linenumber" name="75" href="#75">75</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A mask for a short */</em>
<a class="jxr_linenumber" name="76" href="#76">76</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> SHORT_MASK = 0xFFFFL;
<a class="jxr_linenumber" name="77" href="#77">77</a>  
<a class="jxr_linenumber" name="78" href="#78">78</a>      <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> A mask for an int */</em>
<a class="jxr_linenumber" name="79" href="#79">79</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> INT_MASK = 0xFFFFFFFFL;
<a class="jxr_linenumber" name="80" href="#80">80</a>  
<a class="jxr_linenumber" name="81" href="#81">81</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     * We don't have any access to Buffer.markValue(), so we need to track it down,</em>
<a class="jxr_linenumber" name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     * which will cause small extra overhead.</em>
<a class="jxr_linenumber" name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="85" href="#85">85</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> mark = -1;
<a class="jxr_linenumber" name="86" href="#86">86</a>  
<a class="jxr_linenumber" name="87" href="#87">87</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="88" href="#88">88</a>  <em class="jxr_javadoccomment">     * Creates a new parent buffer.</em>
<a class="jxr_linenumber" name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     * @param allocator The allocator to use to create new buffers</em>
<a class="jxr_linenumber" name="91" href="#91">91</a>  <em class="jxr_javadoccomment">     * @param initialCapacity The initial buffer capacity when created</em>
<a class="jxr_linenumber" name="92" href="#92">92</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="93" href="#93">93</a>      <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html">AbstractIoBuffer</a>(<a href="../../../../../org/apache/mina/core/buffer/IoBufferAllocator.html">IoBufferAllocator</a> allocator, <strong class="jxr_keyword">int</strong> initialCapacity) {
<a class="jxr_linenumber" name="94" href="#94">94</a>          setAllocator(allocator);
<a class="jxr_linenumber" name="95" href="#95">95</a>          <strong class="jxr_keyword">this</strong>.recapacityAllowed = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="96" href="#96">96</a>          <strong class="jxr_keyword">this</strong>.derived = false;
<a class="jxr_linenumber" name="97" href="#97">97</a>          <strong class="jxr_keyword">this</strong>.minimumCapacity = initialCapacity;
<a class="jxr_linenumber" name="98" href="#98">98</a>      }
<a class="jxr_linenumber" name="99" href="#99">99</a>  
<a class="jxr_linenumber" name="100" href="#100">100</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="101" href="#101">101</a> <em class="jxr_javadoccomment">     * Creates a new derived buffer. A derived buffer uses an existing</em>
<a class="jxr_linenumber" name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * buffer properties - the allocator and capacity -.</em>
<a class="jxr_linenumber" name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="104" href="#104">104</a> <em class="jxr_javadoccomment">     * @param parent The buffer we get the properties from</em>
<a class="jxr_linenumber" name="105" href="#105">105</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="106" href="#106">106</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html">AbstractIoBuffer</a>(<a href="../../../../../org/apache/mina/core/buffer/AbstractIoBuffer.html">AbstractIoBuffer</a> parent) {
<a class="jxr_linenumber" name="107" href="#107">107</a>         setAllocator(parent.getAllocator());
<a class="jxr_linenumber" name="108" href="#108">108</a>         <strong class="jxr_keyword">this</strong>.recapacityAllowed = false;
<a class="jxr_linenumber" name="109" href="#109">109</a>         <strong class="jxr_keyword">this</strong>.derived = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="110" href="#110">110</a>         <strong class="jxr_keyword">this</strong>.minimumCapacity = parent.minimumCapacity;
<a class="jxr_linenumber" name="111" href="#111">111</a>     }
<a class="jxr_linenumber" name="112" href="#112">112</a> 
<a class="jxr_linenumber" name="113" href="#113">113</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="115" href="#115">115</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="116" href="#116">116</a>     @Override
<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isDirect() {
<a class="jxr_linenumber" name="118" href="#118">118</a>         <strong class="jxr_keyword">return</strong> buf().isDirect();
<a class="jxr_linenumber" name="119" href="#119">119</a>     }
<a class="jxr_linenumber" name="120" href="#120">120</a> 
<a class="jxr_linenumber" name="121" href="#121">121</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="122" href="#122">122</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="123" href="#123">123</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="124" href="#124">124</a>     @Override
<a class="jxr_linenumber" name="125" href="#125">125</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isReadOnly() {
<a class="jxr_linenumber" name="126" href="#126">126</a>         <strong class="jxr_keyword">return</strong> buf().isReadOnly();
<a class="jxr_linenumber" name="127" href="#127">127</a>     }
<a class="jxr_linenumber" name="128" href="#128">128</a> 
<a class="jxr_linenumber" name="129" href="#129">129</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="130" href="#130">130</a> <em class="jxr_javadoccomment">     * Sets the underlying NIO buffer instance.</em>
<a class="jxr_linenumber" name="131" href="#131">131</a> <em class="jxr_javadoccomment">     * </em>
<a class="jxr_linenumber" name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * @param newBuf The buffer to store within this IoBuffer</em>
<a class="jxr_linenumber" name="133" href="#133">133</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="134" href="#134">134</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">void</strong> buf(ByteBuffer newBuf);
<a class="jxr_linenumber" name="135" href="#135">135</a> 
<a class="jxr_linenumber" name="136" href="#136">136</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="137" href="#137">137</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="138" href="#138">138</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="139" href="#139">139</a>     @Override
<a class="jxr_linenumber" name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> minimumCapacity() {
<a class="jxr_linenumber" name="141" href="#141">141</a>         <strong class="jxr_keyword">return</strong> minimumCapacity;
<a class="jxr_linenumber" name="142" href="#142">142</a>     }
<a class="jxr_linenumber" name="143" href="#143">143</a> 
<a class="jxr_linenumber" name="144" href="#144">144</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="146" href="#146">146</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="147" href="#147">147</a>     @Override
<a class="jxr_linenumber" name="148" href="#148">148</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> minimumCapacity(<strong class="jxr_keyword">int</strong> minimumCapacity) {
<a class="jxr_linenumber" name="149" href="#149">149</a>         <strong class="jxr_keyword">if</strong> (minimumCapacity &lt; 0) {
<a class="jxr_linenumber" name="150" href="#150">150</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"minimumCapacity: "</span>
<a class="jxr_linenumber" name="151" href="#151">151</a>                     + minimumCapacity);
<a class="jxr_linenumber" name="152" href="#152">152</a>         }
<a class="jxr_linenumber" name="153" href="#153">153</a>         <strong class="jxr_keyword">this</strong>.minimumCapacity = minimumCapacity;
<a class="jxr_linenumber" name="154" href="#154">154</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="155" href="#155">155</a>     }
<a class="jxr_linenumber" name="156" href="#156">156</a> 
<a class="jxr_linenumber" name="157" href="#157">157</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="159" href="#159">159</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="160" href="#160">160</a>     @Override
<a class="jxr_linenumber" name="161" href="#161">161</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> capacity() {
<a class="jxr_linenumber" name="162" href="#162">162</a>         <strong class="jxr_keyword">return</strong> buf().capacity();
<a class="jxr_linenumber" name="163" href="#163">163</a>     }
<a class="jxr_linenumber" name="164" href="#164">164</a> 
<a class="jxr_linenumber" name="165" href="#165">165</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="166" href="#166">166</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="167" href="#167">167</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="168" href="#168">168</a>     @Override
<a class="jxr_linenumber" name="169" href="#169">169</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> capacity(<strong class="jxr_keyword">int</strong> newCapacity) {
<a class="jxr_linenumber" name="170" href="#170">170</a>         <strong class="jxr_keyword">if</strong> (!recapacityAllowed) {
<a class="jxr_linenumber" name="171" href="#171">171</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="172" href="#172">172</a>                     <span class="jxr_string">"Derived buffers and their parent can't be expanded."</span>);
<a class="jxr_linenumber" name="173" href="#173">173</a>         }
<a class="jxr_linenumber" name="174" href="#174">174</a> 
<a class="jxr_linenumber" name="175" href="#175">175</a>         <em class="jxr_comment">// Allocate a new buffer and transfer all settings to it.</em>
<a class="jxr_linenumber" name="176" href="#176">176</a>         <strong class="jxr_keyword">if</strong> (newCapacity &gt; capacity()) {
<a class="jxr_linenumber" name="177" href="#177">177</a>             <em class="jxr_comment">// Expand:</em>
<a class="jxr_linenumber" name="178" href="#178">178</a>             <em class="jxr_comment">//// Save the state.</em>
<a class="jxr_linenumber" name="179" href="#179">179</a>             <strong class="jxr_keyword">int</strong> pos = position();
<a class="jxr_linenumber" name="180" href="#180">180</a>             <strong class="jxr_keyword">int</strong> limit = limit();
<a class="jxr_linenumber" name="181" href="#181">181</a>             ByteOrder bo = order();
<a class="jxr_linenumber" name="182" href="#182">182</a> 
<a class="jxr_linenumber" name="183" href="#183">183</a>             <em class="jxr_comment">//// Reallocate.</em>
<a class="jxr_linenumber" name="184" href="#184">184</a>             ByteBuffer oldBuf = buf();
<a class="jxr_linenumber" name="185" href="#185">185</a>             ByteBuffer newBuf = getAllocator().allocateNioBuffer(newCapacity,
<a class="jxr_linenumber" name="186" href="#186">186</a>                     isDirect());
<a class="jxr_linenumber" name="187" href="#187">187</a>             oldBuf.clear();
<a class="jxr_linenumber" name="188" href="#188">188</a>             newBuf.put(oldBuf);
<a class="jxr_linenumber" name="189" href="#189">189</a>             buf(newBuf);
<a class="jxr_linenumber" name="190" href="#190">190</a> 
<a class="jxr_linenumber" name="191" href="#191">191</a>             <em class="jxr_comment">//// Restore the state.</em>
<a class="jxr_linenumber" name="192" href="#192">192</a>             buf().limit(limit);
<a class="jxr_linenumber" name="193" href="#193">193</a>             <strong class="jxr_keyword">if</strong> (mark &gt;= 0) {
<a class="jxr_linenumber" name="194" href="#194">194</a>                 buf().position(mark);
<a class="jxr_linenumber" name="195" href="#195">195</a>                 buf().mark();
<a class="jxr_linenumber" name="196" href="#196">196</a>             }
<a class="jxr_linenumber" name="197" href="#197">197</a>             buf().position(pos);
<a class="jxr_linenumber" name="198" href="#198">198</a>             buf().order(bo);
<a class="jxr_linenumber" name="199" href="#199">199</a>         }
<a class="jxr_linenumber" name="200" href="#200">200</a> 
<a class="jxr_linenumber" name="201" href="#201">201</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="202" href="#202">202</a>     }
<a class="jxr_linenumber" name="203" href="#203">203</a> 
<a class="jxr_linenumber" name="204" href="#204">204</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="205" href="#205">205</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="206" href="#206">206</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="207" href="#207">207</a>     @Override
<a class="jxr_linenumber" name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isAutoExpand() {
<a class="jxr_linenumber" name="209" href="#209">209</a>         <strong class="jxr_keyword">return</strong> autoExpand &amp;&amp; recapacityAllowed;
<a class="jxr_linenumber" name="210" href="#210">210</a>     }
<a class="jxr_linenumber" name="211" href="#211">211</a> 
<a class="jxr_linenumber" name="212" href="#212">212</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="213" href="#213">213</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="214" href="#214">214</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="215" href="#215">215</a>     @Override
<a class="jxr_linenumber" name="216" href="#216">216</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isAutoShrink() {
<a class="jxr_linenumber" name="217" href="#217">217</a>         <strong class="jxr_keyword">return</strong> autoShrink &amp;&amp; recapacityAllowed;
<a class="jxr_linenumber" name="218" href="#218">218</a>     }
<a class="jxr_linenumber" name="219" href="#219">219</a> 
<a class="jxr_linenumber" name="220" href="#220">220</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="221" href="#221">221</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="222" href="#222">222</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="223" href="#223">223</a>     @Override
<a class="jxr_linenumber" name="224" href="#224">224</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> isDerived() {
<a class="jxr_linenumber" name="225" href="#225">225</a>         <strong class="jxr_keyword">return</strong> derived;
<a class="jxr_linenumber" name="226" href="#226">226</a>     }
<a class="jxr_linenumber" name="227" href="#227">227</a> 
<a class="jxr_linenumber" name="228" href="#228">228</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="229" href="#229">229</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="230" href="#230">230</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="231" href="#231">231</a>     @Override
<a class="jxr_linenumber" name="232" href="#232">232</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> setAutoExpand(<strong class="jxr_keyword">boolean</strong> autoExpand) {
<a class="jxr_linenumber" name="233" href="#233">233</a>         <strong class="jxr_keyword">if</strong> (!recapacityAllowed) {
<a class="jxr_linenumber" name="234" href="#234">234</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="235" href="#235">235</a>                     <span class="jxr_string">"Derived buffers and their parent can't be expanded."</span>);
<a class="jxr_linenumber" name="236" href="#236">236</a>         }
<a class="jxr_linenumber" name="237" href="#237">237</a>         <strong class="jxr_keyword">this</strong>.autoExpand = autoExpand;
<a class="jxr_linenumber" name="238" href="#238">238</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="239" href="#239">239</a>     }
<a class="jxr_linenumber" name="240" href="#240">240</a> 
<a class="jxr_linenumber" name="241" href="#241">241</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="242" href="#242">242</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="243" href="#243">243</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="244" href="#244">244</a>     @Override
<a class="jxr_linenumber" name="245" href="#245">245</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> setAutoShrink(<strong class="jxr_keyword">boolean</strong> autoShrink) {
<a class="jxr_linenumber" name="246" href="#246">246</a>         <strong class="jxr_keyword">if</strong> (!recapacityAllowed) {
<a class="jxr_linenumber" name="247" href="#247">247</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="248" href="#248">248</a>                     <span class="jxr_string">"Derived buffers and their parent can't be shrinked."</span>);
<a class="jxr_linenumber" name="249" href="#249">249</a>         }
<a class="jxr_linenumber" name="250" href="#250">250</a>         <strong class="jxr_keyword">this</strong>.autoShrink = autoShrink;
<a class="jxr_linenumber" name="251" href="#251">251</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="252" href="#252">252</a>     }
<a class="jxr_linenumber" name="253" href="#253">253</a> 
<a class="jxr_linenumber" name="254" href="#254">254</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="255" href="#255">255</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="256" href="#256">256</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="257" href="#257">257</a>     @Override
<a class="jxr_linenumber" name="258" href="#258">258</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> expand(<strong class="jxr_keyword">int</strong> expectedRemaining) {
<a class="jxr_linenumber" name="259" href="#259">259</a>         <strong class="jxr_keyword">return</strong> expand(position(), expectedRemaining, false);
<a class="jxr_linenumber" name="260" href="#260">260</a>     }
<a class="jxr_linenumber" name="261" href="#261">261</a> 
<a class="jxr_linenumber" name="262" href="#262">262</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> expand(<strong class="jxr_keyword">int</strong> expectedRemaining, <strong class="jxr_keyword">boolean</strong> autoExpand) {
<a class="jxr_linenumber" name="263" href="#263">263</a>         <strong class="jxr_keyword">return</strong> expand(position(), expectedRemaining, autoExpand);
<a class="jxr_linenumber" name="264" href="#264">264</a>     }
<a class="jxr_linenumber" name="265" href="#265">265</a> 
<a class="jxr_linenumber" name="266" href="#266">266</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="267" href="#267">267</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="268" href="#268">268</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="269" href="#269">269</a>     @Override
<a class="jxr_linenumber" name="270" href="#270">270</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> expand(<strong class="jxr_keyword">int</strong> pos, <strong class="jxr_keyword">int</strong> expectedRemaining) {
<a class="jxr_linenumber" name="271" href="#271">271</a>         <strong class="jxr_keyword">return</strong> expand(pos, expectedRemaining, false);
<a class="jxr_linenumber" name="272" href="#272">272</a>     }
<a class="jxr_linenumber" name="273" href="#273">273</a> 
<a class="jxr_linenumber" name="274" href="#274">274</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> expand(<strong class="jxr_keyword">int</strong> pos, <strong class="jxr_keyword">int</strong> expectedRemaining, <strong class="jxr_keyword">boolean</strong> autoExpand) {
<a class="jxr_linenumber" name="275" href="#275">275</a>         <strong class="jxr_keyword">if</strong> (!recapacityAllowed) {
<a class="jxr_linenumber" name="276" href="#276">276</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="277" href="#277">277</a>                     <span class="jxr_string">"Derived buffers and their parent can't be expanded."</span>);
<a class="jxr_linenumber" name="278" href="#278">278</a>         }
<a class="jxr_linenumber" name="279" href="#279">279</a> 
<a class="jxr_linenumber" name="280" href="#280">280</a>         <strong class="jxr_keyword">int</strong> end = pos + expectedRemaining;
<a class="jxr_linenumber" name="281" href="#281">281</a>         <strong class="jxr_keyword">int</strong> newCapacity;
<a class="jxr_linenumber" name="282" href="#282">282</a>         <strong class="jxr_keyword">if</strong> (autoExpand) {
<a class="jxr_linenumber" name="283" href="#283">283</a>             newCapacity = IoBuffer.normalizeCapacity(end);
<a class="jxr_linenumber" name="284" href="#284">284</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="285" href="#285">285</a>             newCapacity = end;
<a class="jxr_linenumber" name="286" href="#286">286</a>         }
<a class="jxr_linenumber" name="287" href="#287">287</a>         <strong class="jxr_keyword">if</strong> (newCapacity &gt; capacity()) {
<a class="jxr_linenumber" name="288" href="#288">288</a>             <em class="jxr_comment">// The buffer needs expansion.</em>
<a class="jxr_linenumber" name="289" href="#289">289</a>             capacity(newCapacity);
<a class="jxr_linenumber" name="290" href="#290">290</a>         }
<a class="jxr_linenumber" name="291" href="#291">291</a> 
<a class="jxr_linenumber" name="292" href="#292">292</a>         <strong class="jxr_keyword">if</strong> (end &gt; limit()) {
<a class="jxr_linenumber" name="293" href="#293">293</a>             <em class="jxr_comment">// We call limit() directly to prevent StackOverflowError</em>
<a class="jxr_linenumber" name="294" href="#294">294</a>             buf().limit(end);
<a class="jxr_linenumber" name="295" href="#295">295</a>         }
<a class="jxr_linenumber" name="296" href="#296">296</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="297" href="#297">297</a>     }
<a class="jxr_linenumber" name="298" href="#298">298</a> 
<a class="jxr_linenumber" name="299" href="#299">299</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="300" href="#300">300</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="301" href="#301">301</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="302" href="#302">302</a>     @Override
<a class="jxr_linenumber" name="303" href="#303">303</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> shrink() {
<a class="jxr_linenumber" name="304" href="#304">304</a> 
<a class="jxr_linenumber" name="305" href="#305">305</a>         <strong class="jxr_keyword">if</strong> (!recapacityAllowed) {
<a class="jxr_linenumber" name="306" href="#306">306</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="307" href="#307">307</a>                     <span class="jxr_string">"Derived buffers and their parent can't be expanded."</span>);
<a class="jxr_linenumber" name="308" href="#308">308</a>         }
<a class="jxr_linenumber" name="309" href="#309">309</a> 
<a class="jxr_linenumber" name="310" href="#310">310</a>         <strong class="jxr_keyword">int</strong> position = position();
<a class="jxr_linenumber" name="311" href="#311">311</a>         <strong class="jxr_keyword">int</strong> capacity = capacity();
<a class="jxr_linenumber" name="312" href="#312">312</a>         <strong class="jxr_keyword">int</strong> limit = limit();
<a class="jxr_linenumber" name="313" href="#313">313</a>         <strong class="jxr_keyword">if</strong> (capacity == limit) {
<a class="jxr_linenumber" name="314" href="#314">314</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="315" href="#315">315</a>         }
<a class="jxr_linenumber" name="316" href="#316">316</a> 
<a class="jxr_linenumber" name="317" href="#317">317</a>         <strong class="jxr_keyword">int</strong> newCapacity = capacity;
<a class="jxr_linenumber" name="318" href="#318">318</a>         <strong class="jxr_keyword">int</strong> minCapacity = Math.max(minimumCapacity, limit);
<a class="jxr_linenumber" name="319" href="#319">319</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="320" href="#320">320</a>             <strong class="jxr_keyword">if</strong> (newCapacity &gt;&gt;&gt; 1 &lt; minCapacity) {
<a class="jxr_linenumber" name="321" href="#321">321</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="322" href="#322">322</a>             }
<a class="jxr_linenumber" name="323" href="#323">323</a>             newCapacity &gt;&gt;&gt;= 1;
<a class="jxr_linenumber" name="324" href="#324">324</a>         }
<a class="jxr_linenumber" name="325" href="#325">325</a> 
<a class="jxr_linenumber" name="326" href="#326">326</a>         newCapacity = Math.max(minCapacity, newCapacity);
<a class="jxr_linenumber" name="327" href="#327">327</a> 
<a class="jxr_linenumber" name="328" href="#328">328</a>         <strong class="jxr_keyword">if</strong> (newCapacity == capacity) {
<a class="jxr_linenumber" name="329" href="#329">329</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="330" href="#330">330</a>         }
<a class="jxr_linenumber" name="331" href="#331">331</a> 
<a class="jxr_linenumber" name="332" href="#332">332</a>         <em class="jxr_comment">// Shrink and compact:</em>
<a class="jxr_linenumber" name="333" href="#333">333</a>         <em class="jxr_comment">//// Save the state.</em>
<a class="jxr_linenumber" name="334" href="#334">334</a>         ByteOrder bo = order();
<a class="jxr_linenumber" name="335" href="#335">335</a> 
<a class="jxr_linenumber" name="336" href="#336">336</a>         <em class="jxr_comment">//// Reallocate.</em>
<a class="jxr_linenumber" name="337" href="#337">337</a>         ByteBuffer oldBuf = buf();
<a class="jxr_linenumber" name="338" href="#338">338</a>         ByteBuffer newBuf = getAllocator()
<a class="jxr_linenumber" name="339" href="#339">339</a>                 .allocateNioBuffer(newCapacity, isDirect());
<a class="jxr_linenumber" name="340" href="#340">340</a>         oldBuf.position(0);
<a class="jxr_linenumber" name="341" href="#341">341</a>         oldBuf.limit(limit);
<a class="jxr_linenumber" name="342" href="#342">342</a>         newBuf.put(oldBuf);
<a class="jxr_linenumber" name="343" href="#343">343</a>         buf(newBuf);
<a class="jxr_linenumber" name="344" href="#344">344</a> 
<a class="jxr_linenumber" name="345" href="#345">345</a>         <em class="jxr_comment">//// Restore the state.</em>
<a class="jxr_linenumber" name="346" href="#346">346</a>         buf().position(position);
<a class="jxr_linenumber" name="347" href="#347">347</a>         buf().limit(limit);
<a class="jxr_linenumber" name="348" href="#348">348</a>         buf().order(bo);
<a class="jxr_linenumber" name="349" href="#349">349</a>         mark = -1;
<a class="jxr_linenumber" name="350" href="#350">350</a> 
<a class="jxr_linenumber" name="351" href="#351">351</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="352" href="#352">352</a>     }
<a class="jxr_linenumber" name="353" href="#353">353</a> 
<a class="jxr_linenumber" name="354" href="#354">354</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="355" href="#355">355</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="356" href="#356">356</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="357" href="#357">357</a>     @Override
<a class="jxr_linenumber" name="358" href="#358">358</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> position() {
<a class="jxr_linenumber" name="359" href="#359">359</a>         <strong class="jxr_keyword">return</strong> buf().position();
<a class="jxr_linenumber" name="360" href="#360">360</a>     }
<a class="jxr_linenumber" name="361" href="#361">361</a> 
<a class="jxr_linenumber" name="362" href="#362">362</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="363" href="#363">363</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="364" href="#364">364</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="365" href="#365">365</a>     @Override
<a class="jxr_linenumber" name="366" href="#366">366</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> position(<strong class="jxr_keyword">int</strong> newPosition) {
<a class="jxr_linenumber" name="367" href="#367">367</a>         autoExpand(newPosition, 0);
<a class="jxr_linenumber" name="368" href="#368">368</a>         buf().position(newPosition);
<a class="jxr_linenumber" name="369" href="#369">369</a>         <strong class="jxr_keyword">if</strong> (mark &gt; newPosition) {
<a class="jxr_linenumber" name="370" href="#370">370</a>             mark = -1;
<a class="jxr_linenumber" name="371" href="#371">371</a>         }
<a class="jxr_linenumber" name="372" href="#372">372</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="373" href="#373">373</a>     }
<a class="jxr_linenumber" name="374" href="#374">374</a> 
<a class="jxr_linenumber" name="375" href="#375">375</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="376" href="#376">376</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="377" href="#377">377</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="378" href="#378">378</a>     @Override
<a class="jxr_linenumber" name="379" href="#379">379</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> limit() {
<a class="jxr_linenumber" name="380" href="#380">380</a>         <strong class="jxr_keyword">return</strong> buf().limit();
<a class="jxr_linenumber" name="381" href="#381">381</a>     }
<a class="jxr_linenumber" name="382" href="#382">382</a> 
<a class="jxr_linenumber" name="383" href="#383">383</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="385" href="#385">385</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="386" href="#386">386</a>     @Override
<a class="jxr_linenumber" name="387" href="#387">387</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> limit(<strong class="jxr_keyword">int</strong> newLimit) {
<a class="jxr_linenumber" name="388" href="#388">388</a>         autoExpand(newLimit, 0);
<a class="jxr_linenumber" name="389" href="#389">389</a>         buf().limit(newLimit);
<a class="jxr_linenumber" name="390" href="#390">390</a>         <strong class="jxr_keyword">if</strong> (mark &gt; newLimit) {
<a class="jxr_linenumber" name="391" href="#391">391</a>             mark = -1;
<a class="jxr_linenumber" name="392" href="#392">392</a>         }
<a class="jxr_linenumber" name="393" href="#393">393</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="394" href="#394">394</a>     }
<a class="jxr_linenumber" name="395" href="#395">395</a> 
<a class="jxr_linenumber" name="396" href="#396">396</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="397" href="#397">397</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="398" href="#398">398</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="399" href="#399">399</a>     @Override
<a class="jxr_linenumber" name="400" href="#400">400</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> mark() {
<a class="jxr_linenumber" name="401" href="#401">401</a>         buf().mark();
<a class="jxr_linenumber" name="402" href="#402">402</a>         mark = position();
<a class="jxr_linenumber" name="403" href="#403">403</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="404" href="#404">404</a>     }
<a class="jxr_linenumber" name="405" href="#405">405</a> 
<a class="jxr_linenumber" name="406" href="#406">406</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="407" href="#407">407</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="408" href="#408">408</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="409" href="#409">409</a>     @Override
<a class="jxr_linenumber" name="410" href="#410">410</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> markValue() {
<a class="jxr_linenumber" name="411" href="#411">411</a>         <strong class="jxr_keyword">return</strong> mark;
<a class="jxr_linenumber" name="412" href="#412">412</a>     }
<a class="jxr_linenumber" name="413" href="#413">413</a> 
<a class="jxr_linenumber" name="414" href="#414">414</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="415" href="#415">415</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="416" href="#416">416</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="417" href="#417">417</a>     @Override
<a class="jxr_linenumber" name="418" href="#418">418</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> reset() {
<a class="jxr_linenumber" name="419" href="#419">419</a>         buf().reset();
<a class="jxr_linenumber" name="420" href="#420">420</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="421" href="#421">421</a>     }
<a class="jxr_linenumber" name="422" href="#422">422</a> 
<a class="jxr_linenumber" name="423" href="#423">423</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="424" href="#424">424</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="425" href="#425">425</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="426" href="#426">426</a>     @Override
<a class="jxr_linenumber" name="427" href="#427">427</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> clear() {
<a class="jxr_linenumber" name="428" href="#428">428</a>         buf().clear();
<a class="jxr_linenumber" name="429" href="#429">429</a>         mark = -1;
<a class="jxr_linenumber" name="430" href="#430">430</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="431" href="#431">431</a>     }
<a class="jxr_linenumber" name="432" href="#432">432</a> 
<a class="jxr_linenumber" name="433" href="#433">433</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="434" href="#434">434</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="435" href="#435">435</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="436" href="#436">436</a>     @Override
<a class="jxr_linenumber" name="437" href="#437">437</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> sweep() {
<a class="jxr_linenumber" name="438" href="#438">438</a>         clear();
<a class="jxr_linenumber" name="439" href="#439">439</a>         <strong class="jxr_keyword">return</strong> fillAndReset(remaining());
<a class="jxr_linenumber" name="440" href="#440">440</a>     }
<a class="jxr_linenumber" name="441" href="#441">441</a> 
<a class="jxr_linenumber" name="442" href="#442">442</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="443" href="#443">443</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="444" href="#444">444</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="445" href="#445">445</a>     @Override
<a class="jxr_linenumber" name="446" href="#446">446</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> sweep(byte value) {
<a class="jxr_linenumber" name="447" href="#447">447</a>         clear();
<a class="jxr_linenumber" name="448" href="#448">448</a>         <strong class="jxr_keyword">return</strong> fillAndReset(value, remaining());
<a class="jxr_linenumber" name="449" href="#449">449</a>     }
<a class="jxr_linenumber" name="450" href="#450">450</a> 
<a class="jxr_linenumber" name="451" href="#451">451</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="452" href="#452">452</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="453" href="#453">453</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="454" href="#454">454</a>     @Override
<a class="jxr_linenumber" name="455" href="#455">455</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> flip() {
<a class="jxr_linenumber" name="456" href="#456">456</a>         buf().flip();
<a class="jxr_linenumber" name="457" href="#457">457</a>         mark = -1;
<a class="jxr_linenumber" name="458" href="#458">458</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="459" href="#459">459</a>     }
<a class="jxr_linenumber" name="460" href="#460">460</a> 
<a class="jxr_linenumber" name="461" href="#461">461</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="462" href="#462">462</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="463" href="#463">463</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="464" href="#464">464</a>     @Override
<a class="jxr_linenumber" name="465" href="#465">465</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> rewind() {
<a class="jxr_linenumber" name="466" href="#466">466</a>         buf().rewind();
<a class="jxr_linenumber" name="467" href="#467">467</a>         mark = -1;
<a class="jxr_linenumber" name="468" href="#468">468</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="469" href="#469">469</a>     }
<a class="jxr_linenumber" name="470" href="#470">470</a> 
<a class="jxr_linenumber" name="471" href="#471">471</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="472" href="#472">472</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="473" href="#473">473</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="474" href="#474">474</a>     @Override
<a class="jxr_linenumber" name="475" href="#475">475</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> remaining() {
<a class="jxr_linenumber" name="476" href="#476">476</a>         <strong class="jxr_keyword">return</strong> limit() - position();
<a class="jxr_linenumber" name="477" href="#477">477</a>     }
<a class="jxr_linenumber" name="478" href="#478">478</a> 
<a class="jxr_linenumber" name="479" href="#479">479</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="480" href="#480">480</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="481" href="#481">481</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="482" href="#482">482</a>     @Override
<a class="jxr_linenumber" name="483" href="#483">483</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> hasRemaining() {
<a class="jxr_linenumber" name="484" href="#484">484</a>         <strong class="jxr_keyword">return</strong> limit() &gt; position();
<a class="jxr_linenumber" name="485" href="#485">485</a>     }
<a class="jxr_linenumber" name="486" href="#486">486</a> 
<a class="jxr_linenumber" name="487" href="#487">487</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="488" href="#488">488</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="489" href="#489">489</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="490" href="#490">490</a>     @Override
<a class="jxr_linenumber" name="491" href="#491">491</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> byte get() {
<a class="jxr_linenumber" name="492" href="#492">492</a>         <strong class="jxr_keyword">return</strong> buf().get();
<a class="jxr_linenumber" name="493" href="#493">493</a>     }
<a class="jxr_linenumber" name="494" href="#494">494</a> 
<a class="jxr_linenumber" name="495" href="#495">495</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="496" href="#496">496</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="497" href="#497">497</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="498" href="#498">498</a>     @Override
<a class="jxr_linenumber" name="499" href="#499">499</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> getUnsigned() {
<a class="jxr_linenumber" name="500" href="#500">500</a>         <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">short</strong>) (get() &amp; 0xff);
<a class="jxr_linenumber" name="501" href="#501">501</a>     }
<a class="jxr_linenumber" name="502" href="#502">502</a> 
<a class="jxr_linenumber" name="503" href="#503">503</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="504" href="#504">504</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="505" href="#505">505</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="506" href="#506">506</a>     @Override
<a class="jxr_linenumber" name="507" href="#507">507</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(byte b) {
<a class="jxr_linenumber" name="508" href="#508">508</a>         autoExpand(1);
<a class="jxr_linenumber" name="509" href="#509">509</a>         buf().put(b);
<a class="jxr_linenumber" name="510" href="#510">510</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="511" href="#511">511</a>     }
<a class="jxr_linenumber" name="512" href="#512">512</a> 
<a class="jxr_linenumber" name="513" href="#513">513</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="514" href="#514">514</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="515" href="#515">515</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="516" href="#516">516</a>     @Override
<a class="jxr_linenumber" name="517" href="#517">517</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> byte get(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="518" href="#518">518</a>         <strong class="jxr_keyword">return</strong> buf().get(index);
<a class="jxr_linenumber" name="519" href="#519">519</a>     }
<a class="jxr_linenumber" name="520" href="#520">520</a> 
<a class="jxr_linenumber" name="521" href="#521">521</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="522" href="#522">522</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="523" href="#523">523</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="524" href="#524">524</a>     @Override
<a class="jxr_linenumber" name="525" href="#525">525</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> getUnsigned(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="526" href="#526">526</a>         <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">short</strong>) (get(index) &amp; 0xff);
<a class="jxr_linenumber" name="527" href="#527">527</a>     }
<a class="jxr_linenumber" name="528" href="#528">528</a> 
<a class="jxr_linenumber" name="529" href="#529">529</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="530" href="#530">530</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="531" href="#531">531</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="532" href="#532">532</a>     @Override
<a class="jxr_linenumber" name="533" href="#533">533</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(<strong class="jxr_keyword">int</strong> index, byte b) {
<a class="jxr_linenumber" name="534" href="#534">534</a>         autoExpand(index, 1);
<a class="jxr_linenumber" name="535" href="#535">535</a>         buf().put(index, b);
<a class="jxr_linenumber" name="536" href="#536">536</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="537" href="#537">537</a>     }
<a class="jxr_linenumber" name="538" href="#538">538</a> 
<a class="jxr_linenumber" name="539" href="#539">539</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="540" href="#540">540</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="541" href="#541">541</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="542" href="#542">542</a>     @Override
<a class="jxr_linenumber" name="543" href="#543">543</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> get(byte[] dst, <strong class="jxr_keyword">int</strong> offset, <strong class="jxr_keyword">int</strong> length) {
<a class="jxr_linenumber" name="544" href="#544">544</a>         buf().get(dst, offset, length);
<a class="jxr_linenumber" name="545" href="#545">545</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="546" href="#546">546</a>     }
<a class="jxr_linenumber" name="547" href="#547">547</a> 
<a class="jxr_linenumber" name="548" href="#548">548</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="549" href="#549">549</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="550" href="#550">550</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="551" href="#551">551</a>     @Override
<a class="jxr_linenumber" name="552" href="#552">552</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(ByteBuffer src) {
<a class="jxr_linenumber" name="553" href="#553">553</a>         autoExpand(src.remaining());
<a class="jxr_linenumber" name="554" href="#554">554</a>         buf().put(src);
<a class="jxr_linenumber" name="555" href="#555">555</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="556" href="#556">556</a>     }
<a class="jxr_linenumber" name="557" href="#557">557</a> 
<a class="jxr_linenumber" name="558" href="#558">558</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="559" href="#559">559</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="560" href="#560">560</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="561" href="#561">561</a>     @Override
<a class="jxr_linenumber" name="562" href="#562">562</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(byte[] src, <strong class="jxr_keyword">int</strong> offset, <strong class="jxr_keyword">int</strong> length) {
<a class="jxr_linenumber" name="563" href="#563">563</a>         autoExpand(length);
<a class="jxr_linenumber" name="564" href="#564">564</a>         buf().put(src, offset, length);
<a class="jxr_linenumber" name="565" href="#565">565</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="566" href="#566">566</a>     }
<a class="jxr_linenumber" name="567" href="#567">567</a> 
<a class="jxr_linenumber" name="568" href="#568">568</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="569" href="#569">569</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="570" href="#570">570</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="571" href="#571">571</a>     @Override
<a class="jxr_linenumber" name="572" href="#572">572</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> compact() {
<a class="jxr_linenumber" name="573" href="#573">573</a>         <strong class="jxr_keyword">int</strong> remaining = remaining();
<a class="jxr_linenumber" name="574" href="#574">574</a>         <strong class="jxr_keyword">int</strong> capacity = capacity();
<a class="jxr_linenumber" name="575" href="#575">575</a> 
<a class="jxr_linenumber" name="576" href="#576">576</a>         <strong class="jxr_keyword">if</strong> (capacity == 0) {
<a class="jxr_linenumber" name="577" href="#577">577</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="578" href="#578">578</a>         }
<a class="jxr_linenumber" name="579" href="#579">579</a> 
<a class="jxr_linenumber" name="580" href="#580">580</a>         <strong class="jxr_keyword">if</strong> (isAutoShrink() &amp;&amp; remaining &lt;= capacity &gt;&gt;&gt; 2
<a class="jxr_linenumber" name="581" href="#581">581</a>                 &amp;&amp; capacity &gt; minimumCapacity) {
<a class="jxr_linenumber" name="582" href="#582">582</a>             <strong class="jxr_keyword">int</strong> newCapacity = capacity;
<a class="jxr_linenumber" name="583" href="#583">583</a>             <strong class="jxr_keyword">int</strong> minCapacity = Math.max(minimumCapacity, remaining &lt;&lt; 1);
<a class="jxr_linenumber" name="584" href="#584">584</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="585" href="#585">585</a>                 <strong class="jxr_keyword">if</strong> (newCapacity &gt;&gt;&gt; 1 &lt; minCapacity) {
<a class="jxr_linenumber" name="586" href="#586">586</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="587" href="#587">587</a>                 }
<a class="jxr_linenumber" name="588" href="#588">588</a>                 newCapacity &gt;&gt;&gt;= 1;
<a class="jxr_linenumber" name="589" href="#589">589</a>             }
<a class="jxr_linenumber" name="590" href="#590">590</a> 
<a class="jxr_linenumber" name="591" href="#591">591</a>             newCapacity = Math.max(minCapacity, newCapacity);
<a class="jxr_linenumber" name="592" href="#592">592</a> 
<a class="jxr_linenumber" name="593" href="#593">593</a>             <strong class="jxr_keyword">if</strong> (newCapacity == capacity) {
<a class="jxr_linenumber" name="594" href="#594">594</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="595" href="#595">595</a>             }
<a class="jxr_linenumber" name="596" href="#596">596</a> 
<a class="jxr_linenumber" name="597" href="#597">597</a>             <em class="jxr_comment">// Shrink and compact:</em>
<a class="jxr_linenumber" name="598" href="#598">598</a>             <em class="jxr_comment">//// Save the state.</em>
<a class="jxr_linenumber" name="599" href="#599">599</a>             ByteOrder bo = order();
<a class="jxr_linenumber" name="600" href="#600">600</a> 
<a class="jxr_linenumber" name="601" href="#601">601</a>             <em class="jxr_comment">//// Sanity check.</em>
<a class="jxr_linenumber" name="602" href="#602">602</a>             <strong class="jxr_keyword">if</strong> (remaining &gt; newCapacity) {
<a class="jxr_linenumber" name="603" href="#603">603</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a class="jxr_linenumber" name="604" href="#604">604</a>                         <span class="jxr_string">"The amount of the remaining bytes is greater than "</span>
<a class="jxr_linenumber" name="605" href="#605">605</a>                                 + <span class="jxr_string">"the new capacity."</span>);
<a class="jxr_linenumber" name="606" href="#606">606</a>             }
<a class="jxr_linenumber" name="607" href="#607">607</a> 
<a class="jxr_linenumber" name="608" href="#608">608</a>             <em class="jxr_comment">//// Reallocate.</em>
<a class="jxr_linenumber" name="609" href="#609">609</a>             ByteBuffer oldBuf = buf();
<a class="jxr_linenumber" name="610" href="#610">610</a>             ByteBuffer newBuf = getAllocator().allocateNioBuffer(newCapacity,
<a class="jxr_linenumber" name="611" href="#611">611</a>                     isDirect());
<a class="jxr_linenumber" name="612" href="#612">612</a>             newBuf.put(oldBuf);
<a class="jxr_linenumber" name="613" href="#613">613</a>             buf(newBuf);
<a class="jxr_linenumber" name="614" href="#614">614</a> 
<a class="jxr_linenumber" name="615" href="#615">615</a>             <em class="jxr_comment">//// Restore the state.</em>
<a class="jxr_linenumber" name="616" href="#616">616</a>             buf().order(bo);
<a class="jxr_linenumber" name="617" href="#617">617</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="618" href="#618">618</a>             buf().compact();
<a class="jxr_linenumber" name="619" href="#619">619</a>         }
<a class="jxr_linenumber" name="620" href="#620">620</a>         mark = -1;
<a class="jxr_linenumber" name="621" href="#621">621</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="622" href="#622">622</a>     }
<a class="jxr_linenumber" name="623" href="#623">623</a> 
<a class="jxr_linenumber" name="624" href="#624">624</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="625" href="#625">625</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="626" href="#626">626</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="627" href="#627">627</a>     @Override
<a class="jxr_linenumber" name="628" href="#628">628</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> ByteOrder order() {
<a class="jxr_linenumber" name="629" href="#629">629</a>         <strong class="jxr_keyword">return</strong> buf().order();
<a class="jxr_linenumber" name="630" href="#630">630</a>     }
<a class="jxr_linenumber" name="631" href="#631">631</a> 
<a class="jxr_linenumber" name="632" href="#632">632</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="633" href="#633">633</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="634" href="#634">634</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="635" href="#635">635</a>     @Override
<a class="jxr_linenumber" name="636" href="#636">636</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> order(ByteOrder bo) {
<a class="jxr_linenumber" name="637" href="#637">637</a>         buf().order(bo);
<a class="jxr_linenumber" name="638" href="#638">638</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="639" href="#639">639</a>     }
<a class="jxr_linenumber" name="640" href="#640">640</a> 
<a class="jxr_linenumber" name="641" href="#641">641</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="642" href="#642">642</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="643" href="#643">643</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="644" href="#644">644</a>     @Override
<a class="jxr_linenumber" name="645" href="#645">645</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> getChar() {
<a class="jxr_linenumber" name="646" href="#646">646</a>         <strong class="jxr_keyword">return</strong> buf().getChar();
<a class="jxr_linenumber" name="647" href="#647">647</a>     }
<a class="jxr_linenumber" name="648" href="#648">648</a> 
<a class="jxr_linenumber" name="649" href="#649">649</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="650" href="#650">650</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="651" href="#651">651</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="652" href="#652">652</a>     @Override
<a class="jxr_linenumber" name="653" href="#653">653</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putChar(<strong class="jxr_keyword">char</strong> value) {
<a class="jxr_linenumber" name="654" href="#654">654</a>         autoExpand(2);
<a class="jxr_linenumber" name="655" href="#655">655</a>         buf().putChar(value);
<a class="jxr_linenumber" name="656" href="#656">656</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="657" href="#657">657</a>     }
<a class="jxr_linenumber" name="658" href="#658">658</a> 
<a class="jxr_linenumber" name="659" href="#659">659</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="660" href="#660">660</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="661" href="#661">661</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="662" href="#662">662</a>     @Override
<a class="jxr_linenumber" name="663" href="#663">663</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">char</strong> getChar(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="664" href="#664">664</a>         <strong class="jxr_keyword">return</strong> buf().getChar(index);
<a class="jxr_linenumber" name="665" href="#665">665</a>     }
<a class="jxr_linenumber" name="666" href="#666">666</a> 
<a class="jxr_linenumber" name="667" href="#667">667</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="668" href="#668">668</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="669" href="#669">669</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="670" href="#670">670</a>     @Override
<a class="jxr_linenumber" name="671" href="#671">671</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putChar(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">char</strong> value) {
<a class="jxr_linenumber" name="672" href="#672">672</a>         autoExpand(index, 2);
<a class="jxr_linenumber" name="673" href="#673">673</a>         buf().putChar(index, value);
<a class="jxr_linenumber" name="674" href="#674">674</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="675" href="#675">675</a>     }
<a class="jxr_linenumber" name="676" href="#676">676</a> 
<a class="jxr_linenumber" name="677" href="#677">677</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="678" href="#678">678</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="679" href="#679">679</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="680" href="#680">680</a>     @Override
<a class="jxr_linenumber" name="681" href="#681">681</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> CharBuffer asCharBuffer() {
<a class="jxr_linenumber" name="682" href="#682">682</a>         <strong class="jxr_keyword">return</strong> buf().asCharBuffer();
<a class="jxr_linenumber" name="683" href="#683">683</a>     }
<a class="jxr_linenumber" name="684" href="#684">684</a> 
<a class="jxr_linenumber" name="685" href="#685">685</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="686" href="#686">686</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="687" href="#687">687</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="688" href="#688">688</a>     @Override
<a class="jxr_linenumber" name="689" href="#689">689</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> getShort() {
<a class="jxr_linenumber" name="690" href="#690">690</a>         <strong class="jxr_keyword">return</strong> buf().getShort();
<a class="jxr_linenumber" name="691" href="#691">691</a>     }
<a class="jxr_linenumber" name="692" href="#692">692</a> 
<a class="jxr_linenumber" name="693" href="#693">693</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="694" href="#694">694</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="695" href="#695">695</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="696" href="#696">696</a>     @Override
<a class="jxr_linenumber" name="697" href="#697">697</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putShort(<strong class="jxr_keyword">short</strong> value) {
<a class="jxr_linenumber" name="698" href="#698">698</a>         autoExpand(2);
<a class="jxr_linenumber" name="699" href="#699">699</a>         buf().putShort(value);
<a class="jxr_linenumber" name="700" href="#700">700</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="701" href="#701">701</a>     }
<a class="jxr_linenumber" name="702" href="#702">702</a> 
<a class="jxr_linenumber" name="703" href="#703">703</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="704" href="#704">704</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="705" href="#705">705</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="706" href="#706">706</a>     @Override
<a class="jxr_linenumber" name="707" href="#707">707</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">short</strong> getShort(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="708" href="#708">708</a>         <strong class="jxr_keyword">return</strong> buf().getShort(index);
<a class="jxr_linenumber" name="709" href="#709">709</a>     }
<a class="jxr_linenumber" name="710" href="#710">710</a> 
<a class="jxr_linenumber" name="711" href="#711">711</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="712" href="#712">712</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="713" href="#713">713</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="714" href="#714">714</a>     @Override
<a class="jxr_linenumber" name="715" href="#715">715</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putShort(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">short</strong> value) {
<a class="jxr_linenumber" name="716" href="#716">716</a>         autoExpand(index, 2);
<a class="jxr_linenumber" name="717" href="#717">717</a>         buf().putShort(index, value);
<a class="jxr_linenumber" name="718" href="#718">718</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="719" href="#719">719</a>     }
<a class="jxr_linenumber" name="720" href="#720">720</a> 
<a class="jxr_linenumber" name="721" href="#721">721</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="722" href="#722">722</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="723" href="#723">723</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="724" href="#724">724</a>     @Override
<a class="jxr_linenumber" name="725" href="#725">725</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> ShortBuffer asShortBuffer() {
<a class="jxr_linenumber" name="726" href="#726">726</a>         <strong class="jxr_keyword">return</strong> buf().asShortBuffer();
<a class="jxr_linenumber" name="727" href="#727">727</a>     }
<a class="jxr_linenumber" name="728" href="#728">728</a> 
<a class="jxr_linenumber" name="729" href="#729">729</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="730" href="#730">730</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="731" href="#731">731</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="732" href="#732">732</a>     @Override
<a class="jxr_linenumber" name="733" href="#733">733</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getInt() {
<a class="jxr_linenumber" name="734" href="#734">734</a>         <strong class="jxr_keyword">return</strong> buf().getInt();
<a class="jxr_linenumber" name="735" href="#735">735</a>     }
<a class="jxr_linenumber" name="736" href="#736">736</a> 
<a class="jxr_linenumber" name="737" href="#737">737</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="738" href="#738">738</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="739" href="#739">739</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="740" href="#740">740</a>     @Override
<a class="jxr_linenumber" name="741" href="#741">741</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putInt(<strong class="jxr_keyword">int</strong> value) {
<a class="jxr_linenumber" name="742" href="#742">742</a>         autoExpand(4);
<a class="jxr_linenumber" name="743" href="#743">743</a>         buf().putInt(value);
<a class="jxr_linenumber" name="744" href="#744">744</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="745" href="#745">745</a>     }
<a class="jxr_linenumber" name="746" href="#746">746</a> 
<a class="jxr_linenumber" name="747" href="#747">747</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="748" href="#748">748</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="749" href="#749">749</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="750" href="#750">750</a>     @Override
<a class="jxr_linenumber" name="751" href="#751">751</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> getInt(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="752" href="#752">752</a>         <strong class="jxr_keyword">return</strong> buf().getInt(index);
<a class="jxr_linenumber" name="753" href="#753">753</a>     }
<a class="jxr_linenumber" name="754" href="#754">754</a> 
<a class="jxr_linenumber" name="755" href="#755">755</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="756" href="#756">756</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="757" href="#757">757</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="758" href="#758">758</a>     @Override
<a class="jxr_linenumber" name="759" href="#759">759</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putInt(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> value) {
<a class="jxr_linenumber" name="760" href="#760">760</a>         autoExpand(index, 4);
<a class="jxr_linenumber" name="761" href="#761">761</a>         buf().putInt(index, value);
<a class="jxr_linenumber" name="762" href="#762">762</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="763" href="#763">763</a>     }
<a class="jxr_linenumber" name="764" href="#764">764</a> 
<a class="jxr_linenumber" name="765" href="#765">765</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="766" href="#766">766</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="767" href="#767">767</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="768" href="#768">768</a>     @Override
<a class="jxr_linenumber" name="769" href="#769">769</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> IntBuffer asIntBuffer() {
<a class="jxr_linenumber" name="770" href="#770">770</a>         <strong class="jxr_keyword">return</strong> buf().asIntBuffer();
<a class="jxr_linenumber" name="771" href="#771">771</a>     }
<a class="jxr_linenumber" name="772" href="#772">772</a> 
<a class="jxr_linenumber" name="773" href="#773">773</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="774" href="#774">774</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="775" href="#775">775</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="776" href="#776">776</a>     @Override
<a class="jxr_linenumber" name="777" href="#777">777</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLong() {
<a class="jxr_linenumber" name="778" href="#778">778</a>         <strong class="jxr_keyword">return</strong> buf().getLong();
<a class="jxr_linenumber" name="779" href="#779">779</a>     }
<a class="jxr_linenumber" name="780" href="#780">780</a> 
<a class="jxr_linenumber" name="781" href="#781">781</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="782" href="#782">782</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="783" href="#783">783</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="784" href="#784">784</a>     @Override
<a class="jxr_linenumber" name="785" href="#785">785</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putLong(<strong class="jxr_keyword">long</strong> value) {
<a class="jxr_linenumber" name="786" href="#786">786</a>         autoExpand(8);
<a class="jxr_linenumber" name="787" href="#787">787</a>         buf().putLong(value);
<a class="jxr_linenumber" name="788" href="#788">788</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="789" href="#789">789</a>     }
<a class="jxr_linenumber" name="790" href="#790">790</a> 
<a class="jxr_linenumber" name="791" href="#791">791</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="792" href="#792">792</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="793" href="#793">793</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="794" href="#794">794</a>     @Override
<a class="jxr_linenumber" name="795" href="#795">795</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> getLong(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="796" href="#796">796</a>         <strong class="jxr_keyword">return</strong> buf().getLong(index);
<a class="jxr_linenumber" name="797" href="#797">797</a>     }
<a class="jxr_linenumber" name="798" href="#798">798</a> 
<a class="jxr_linenumber" name="799" href="#799">799</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="800" href="#800">800</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="801" href="#801">801</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="802" href="#802">802</a>     @Override
<a class="jxr_linenumber" name="803" href="#803">803</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putLong(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">long</strong> value) {
<a class="jxr_linenumber" name="804" href="#804">804</a>         autoExpand(index, 8);
<a class="jxr_linenumber" name="805" href="#805">805</a>         buf().putLong(index, value);
<a class="jxr_linenumber" name="806" href="#806">806</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="807" href="#807">807</a>     }
<a class="jxr_linenumber" name="808" href="#808">808</a> 
<a class="jxr_linenumber" name="809" href="#809">809</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="810" href="#810">810</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="811" href="#811">811</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="812" href="#812">812</a>     @Override
<a class="jxr_linenumber" name="813" href="#813">813</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> LongBuffer asLongBuffer() {
<a class="jxr_linenumber" name="814" href="#814">814</a>         <strong class="jxr_keyword">return</strong> buf().asLongBuffer();
<a class="jxr_linenumber" name="815" href="#815">815</a>     }
<a class="jxr_linenumber" name="816" href="#816">816</a> 
<a class="jxr_linenumber" name="817" href="#817">817</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="818" href="#818">818</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="819" href="#819">819</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="820" href="#820">820</a>     @Override
<a class="jxr_linenumber" name="821" href="#821">821</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> getFloat() {
<a class="jxr_linenumber" name="822" href="#822">822</a>         <strong class="jxr_keyword">return</strong> buf().getFloat();
<a class="jxr_linenumber" name="823" href="#823">823</a>     }
<a class="jxr_linenumber" name="824" href="#824">824</a> 
<a class="jxr_linenumber" name="825" href="#825">825</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="826" href="#826">826</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="827" href="#827">827</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="828" href="#828">828</a>     @Override
<a class="jxr_linenumber" name="829" href="#829">829</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putFloat(<strong class="jxr_keyword">float</strong> value) {
<a class="jxr_linenumber" name="830" href="#830">830</a>         autoExpand(4);
<a class="jxr_linenumber" name="831" href="#831">831</a>         buf().putFloat(value);
<a class="jxr_linenumber" name="832" href="#832">832</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="833" href="#833">833</a>     }
<a class="jxr_linenumber" name="834" href="#834">834</a> 
<a class="jxr_linenumber" name="835" href="#835">835</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="836" href="#836">836</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="837" href="#837">837</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="838" href="#838">838</a>     @Override
<a class="jxr_linenumber" name="839" href="#839">839</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">float</strong> getFloat(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="840" href="#840">840</a>         <strong class="jxr_keyword">return</strong> buf().getFloat(index);
<a class="jxr_linenumber" name="841" href="#841">841</a>     }
<a class="jxr_linenumber" name="842" href="#842">842</a> 
<a class="jxr_linenumber" name="843" href="#843">843</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="844" href="#844">844</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="845" href="#845">845</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="846" href="#846">846</a>     @Override
<a class="jxr_linenumber" name="847" href="#847">847</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putFloat(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">float</strong> value) {
<a class="jxr_linenumber" name="848" href="#848">848</a>         autoExpand(index, 4);
<a class="jxr_linenumber" name="849" href="#849">849</a>         buf().putFloat(index, value);
<a class="jxr_linenumber" name="850" href="#850">850</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="851" href="#851">851</a>     }
<a class="jxr_linenumber" name="852" href="#852">852</a> 
<a class="jxr_linenumber" name="853" href="#853">853</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="854" href="#854">854</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="855" href="#855">855</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="856" href="#856">856</a>     @Override
<a class="jxr_linenumber" name="857" href="#857">857</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> FloatBuffer asFloatBuffer() {
<a class="jxr_linenumber" name="858" href="#858">858</a>         <strong class="jxr_keyword">return</strong> buf().asFloatBuffer();
<a class="jxr_linenumber" name="859" href="#859">859</a>     }
<a class="jxr_linenumber" name="860" href="#860">860</a> 
<a class="jxr_linenumber" name="861" href="#861">861</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="862" href="#862">862</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="863" href="#863">863</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="864" href="#864">864</a>     @Override
<a class="jxr_linenumber" name="865" href="#865">865</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getDouble() {
<a class="jxr_linenumber" name="866" href="#866">866</a>         <strong class="jxr_keyword">return</strong> buf().getDouble();
<a class="jxr_linenumber" name="867" href="#867">867</a>     }
<a class="jxr_linenumber" name="868" href="#868">868</a> 
<a class="jxr_linenumber" name="869" href="#869">869</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="870" href="#870">870</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="871" href="#871">871</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="872" href="#872">872</a>     @Override
<a class="jxr_linenumber" name="873" href="#873">873</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putDouble(<strong class="jxr_keyword">double</strong> value) {
<a class="jxr_linenumber" name="874" href="#874">874</a>         autoExpand(8);
<a class="jxr_linenumber" name="875" href="#875">875</a>         buf().putDouble(value);
<a class="jxr_linenumber" name="876" href="#876">876</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="877" href="#877">877</a>     }
<a class="jxr_linenumber" name="878" href="#878">878</a> 
<a class="jxr_linenumber" name="879" href="#879">879</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="880" href="#880">880</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="881" href="#881">881</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="882" href="#882">882</a>     @Override
<a class="jxr_linenumber" name="883" href="#883">883</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">double</strong> getDouble(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="884" href="#884">884</a>         <strong class="jxr_keyword">return</strong> buf().getDouble(index);
<a class="jxr_linenumber" name="885" href="#885">885</a>     }
<a class="jxr_linenumber" name="886" href="#886">886</a> 
<a class="jxr_linenumber" name="887" href="#887">887</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="888" href="#888">888</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="889" href="#889">889</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="890" href="#890">890</a>     @Override
<a class="jxr_linenumber" name="891" href="#891">891</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putDouble(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">double</strong> value) {
<a class="jxr_linenumber" name="892" href="#892">892</a>         autoExpand(index, 8);
<a class="jxr_linenumber" name="893" href="#893">893</a>         buf().putDouble(index, value);
<a class="jxr_linenumber" name="894" href="#894">894</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="895" href="#895">895</a>     }
<a class="jxr_linenumber" name="896" href="#896">896</a> 
<a class="jxr_linenumber" name="897" href="#897">897</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="898" href="#898">898</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="899" href="#899">899</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="900" href="#900">900</a>     @Override
<a class="jxr_linenumber" name="901" href="#901">901</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> DoubleBuffer asDoubleBuffer() {
<a class="jxr_linenumber" name="902" href="#902">902</a>         <strong class="jxr_keyword">return</strong> buf().asDoubleBuffer();
<a class="jxr_linenumber" name="903" href="#903">903</a>     }
<a class="jxr_linenumber" name="904" href="#904">904</a> 
<a class="jxr_linenumber" name="905" href="#905">905</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="906" href="#906">906</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="907" href="#907">907</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="908" href="#908">908</a>     @Override
<a class="jxr_linenumber" name="909" href="#909">909</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> asReadOnlyBuffer() {
<a class="jxr_linenumber" name="910" href="#910">910</a>         recapacityAllowed = false;
<a class="jxr_linenumber" name="911" href="#911">911</a>         <strong class="jxr_keyword">return</strong> asReadOnlyBuffer0();
<a class="jxr_linenumber" name="912" href="#912">912</a>     }
<a class="jxr_linenumber" name="913" href="#913">913</a> 
<a class="jxr_linenumber" name="914" href="#914">914</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="915" href="#915">915</a> <em class="jxr_javadoccomment">     * Implement this method to return the unexpandable read only version of</em>
<a class="jxr_linenumber" name="916" href="#916">916</a> <em class="jxr_javadoccomment">     * this buffer.</em>
<a class="jxr_linenumber" name="917" href="#917">917</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="918" href="#918">918</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> asReadOnlyBuffer0();
<a class="jxr_linenumber" name="919" href="#919">919</a> 
<a class="jxr_linenumber" name="920" href="#920">920</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="921" href="#921">921</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="922" href="#922">922</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="923" href="#923">923</a>     @Override
<a class="jxr_linenumber" name="924" href="#924">924</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> duplicate() {
<a class="jxr_linenumber" name="925" href="#925">925</a>         recapacityAllowed = false;
<a class="jxr_linenumber" name="926" href="#926">926</a>         <strong class="jxr_keyword">return</strong> duplicate0();
<a class="jxr_linenumber" name="927" href="#927">927</a>     }
<a class="jxr_linenumber" name="928" href="#928">928</a> 
<a class="jxr_linenumber" name="929" href="#929">929</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="930" href="#930">930</a> <em class="jxr_javadoccomment">     * Implement this method to return the unexpandable duplicate of this</em>
<a class="jxr_linenumber" name="931" href="#931">931</a> <em class="jxr_javadoccomment">     * buffer.</em>
<a class="jxr_linenumber" name="932" href="#932">932</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="933" href="#933">933</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> duplicate0();
<a class="jxr_linenumber" name="934" href="#934">934</a> 
<a class="jxr_linenumber" name="935" href="#935">935</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="936" href="#936">936</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="937" href="#937">937</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="938" href="#938">938</a>     @Override
<a class="jxr_linenumber" name="939" href="#939">939</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> slice() {
<a class="jxr_linenumber" name="940" href="#940">940</a>         recapacityAllowed = false;
<a class="jxr_linenumber" name="941" href="#941">941</a>         <strong class="jxr_keyword">return</strong> slice0();
<a class="jxr_linenumber" name="942" href="#942">942</a>     }
<a class="jxr_linenumber" name="943" href="#943">943</a> 
<a class="jxr_linenumber" name="944" href="#944">944</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="945" href="#945">945</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="946" href="#946">946</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="947" href="#947">947</a>     @Override
<a class="jxr_linenumber" name="948" href="#948">948</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> getSlice(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> length) {
<a class="jxr_linenumber" name="949" href="#949">949</a>         <strong class="jxr_keyword">if</strong> (length &lt; 0) {
<a class="jxr_linenumber" name="950" href="#950">950</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"length: "</span> + length);
<a class="jxr_linenumber" name="951" href="#951">951</a>         }
<a class="jxr_linenumber" name="952" href="#952">952</a>         
<a class="jxr_linenumber" name="953" href="#953">953</a>         <strong class="jxr_keyword">int</strong> limit = limit();
<a class="jxr_linenumber" name="954" href="#954">954</a>         
<a class="jxr_linenumber" name="955" href="#955">955</a>         <strong class="jxr_keyword">if</strong> (index &gt; limit) {
<a class="jxr_linenumber" name="956" href="#956">956</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"index: "</span> + index);
<a class="jxr_linenumber" name="957" href="#957">957</a>         }
<a class="jxr_linenumber" name="958" href="#958">958</a>         
<a class="jxr_linenumber" name="959" href="#959">959</a>         <strong class="jxr_keyword">int</strong> endIndex = index + length;
<a class="jxr_linenumber" name="960" href="#960">960</a> 
<a class="jxr_linenumber" name="961" href="#961">961</a>         <strong class="jxr_keyword">if</strong> (capacity() &lt; endIndex) {
<a class="jxr_linenumber" name="962" href="#962">962</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException(<span class="jxr_string">"index + length ("</span> + endIndex
<a class="jxr_linenumber" name="963" href="#963">963</a>                     + <span class="jxr_string">") is greater "</span> + <span class="jxr_string">"than capacity ("</span> + capacity() + <span class="jxr_string">")."</span>);
<a class="jxr_linenumber" name="964" href="#964">964</a>         }
<a class="jxr_linenumber" name="965" href="#965">965</a> 
<a class="jxr_linenumber" name="966" href="#966">966</a>         clear();
<a class="jxr_linenumber" name="967" href="#967">967</a>         position(index);
<a class="jxr_linenumber" name="968" href="#968">968</a>         limit(endIndex);
<a class="jxr_linenumber" name="969" href="#969">969</a> 
<a class="jxr_linenumber" name="970" href="#970">970</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> slice = slice();
<a class="jxr_linenumber" name="971" href="#971">971</a>         position(index);
<a class="jxr_linenumber" name="972" href="#972">972</a>         limit(limit);
<a class="jxr_linenumber" name="973" href="#973">973</a>         <strong class="jxr_keyword">return</strong> slice;
<a class="jxr_linenumber" name="974" href="#974">974</a>     }
<a class="jxr_linenumber" name="975" href="#975">975</a> 
<a class="jxr_linenumber" name="976" href="#976">976</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="977" href="#977">977</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="978" href="#978">978</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="979" href="#979">979</a>     @Override
<a class="jxr_linenumber" name="980" href="#980">980</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> getSlice(<strong class="jxr_keyword">int</strong> length) {
<a class="jxr_linenumber" name="981" href="#981">981</a>         <strong class="jxr_keyword">if</strong> (length &lt; 0) {
<a class="jxr_linenumber" name="982" href="#982">982</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"length: "</span> + length);
<a class="jxr_linenumber" name="983" href="#983">983</a>         }
<a class="jxr_linenumber" name="984" href="#984">984</a>         <strong class="jxr_keyword">int</strong> pos = position();
<a class="jxr_linenumber" name="985" href="#985">985</a>         <strong class="jxr_keyword">int</strong> limit = limit();
<a class="jxr_linenumber" name="986" href="#986">986</a>         <strong class="jxr_keyword">int</strong> nextPos = pos + length;
<a class="jxr_linenumber" name="987" href="#987">987</a>         <strong class="jxr_keyword">if</strong> (limit &lt; nextPos) {
<a class="jxr_linenumber" name="988" href="#988">988</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException(<span class="jxr_string">"position + length ("</span> + nextPos
<a class="jxr_linenumber" name="989" href="#989">989</a>                     + <span class="jxr_string">") is greater "</span> + <span class="jxr_string">"than limit ("</span> + limit + <span class="jxr_string">")."</span>);
<a class="jxr_linenumber" name="990" href="#990">990</a>         }
<a class="jxr_linenumber" name="991" href="#991">991</a> 
<a class="jxr_linenumber" name="992" href="#992">992</a>         limit(pos + length);
<a class="jxr_linenumber" name="993" href="#993">993</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> slice = slice();
<a class="jxr_linenumber" name="994" href="#994">994</a>         position(nextPos);
<a class="jxr_linenumber" name="995" href="#995">995</a>         limit(limit);
<a class="jxr_linenumber" name="996" href="#996">996</a>         <strong class="jxr_keyword">return</strong> slice;
<a class="jxr_linenumber" name="997" href="#997">997</a>     }
<a class="jxr_linenumber" name="998" href="#998">998</a> 
<a class="jxr_linenumber" name="999" href="#999">999</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1000" href="#1000">1000</a> <em class="jxr_javadoccomment">     * Implement this method to return the unexpandable slice of this</em>
<a class="jxr_linenumber" name="1001" href="#1001">1001</a> <em class="jxr_javadoccomment">     * buffer.</em>
<a class="jxr_linenumber" name="1002" href="#1002">1002</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1003" href="#1003">1003</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">abstract</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> slice0();
<a class="jxr_linenumber" name="1004" href="#1004">1004</a> 
<a class="jxr_linenumber" name="1005" href="#1005">1005</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1006" href="#1006">1006</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1007" href="#1007">1007</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1008" href="#1008">1008</a>     @Override
<a class="jxr_linenumber" name="1009" href="#1009">1009</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() {
<a class="jxr_linenumber" name="1010" href="#1010">1010</a>         <strong class="jxr_keyword">int</strong> h = 1;
<a class="jxr_linenumber" name="1011" href="#1011">1011</a>         <strong class="jxr_keyword">int</strong> p = position();
<a class="jxr_linenumber" name="1012" href="#1012">1012</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = limit() - 1; i &gt;= p; i--) {
<a class="jxr_linenumber" name="1013" href="#1013">1013</a>             h = 31 * h + get(i);
<a class="jxr_linenumber" name="1014" href="#1014">1014</a>         }
<a class="jxr_linenumber" name="1015" href="#1015">1015</a>         <strong class="jxr_keyword">return</strong> h;
<a class="jxr_linenumber" name="1016" href="#1016">1016</a>     }
<a class="jxr_linenumber" name="1017" href="#1017">1017</a> 
<a class="jxr_linenumber" name="1018" href="#1018">1018</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1019" href="#1019">1019</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1020" href="#1020">1020</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1021" href="#1021">1021</a>     @Override
<a class="jxr_linenumber" name="1022" href="#1022">1022</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object o) {
<a class="jxr_linenumber" name="1023" href="#1023">1023</a>         <strong class="jxr_keyword">if</strong> (!(o instanceof IoBuffer)) {
<a class="jxr_linenumber" name="1024" href="#1024">1024</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1025" href="#1025">1025</a>         }
<a class="jxr_linenumber" name="1026" href="#1026">1026</a> 
<a class="jxr_linenumber" name="1027" href="#1027">1027</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> that = (IoBuffer) o;
<a class="jxr_linenumber" name="1028" href="#1028">1028</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.remaining() != that.remaining()) {
<a class="jxr_linenumber" name="1029" href="#1029">1029</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1030" href="#1030">1030</a>         }
<a class="jxr_linenumber" name="1031" href="#1031">1031</a> 
<a class="jxr_linenumber" name="1032" href="#1032">1032</a>         <strong class="jxr_keyword">int</strong> p = <strong class="jxr_keyword">this</strong>.position();
<a class="jxr_linenumber" name="1033" href="#1033">1033</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = <strong class="jxr_keyword">this</strong>.limit() - 1, j = that.limit() - 1; i &gt;= p; i--, j--) {
<a class="jxr_linenumber" name="1034" href="#1034">1034</a>             byte v1 = <strong class="jxr_keyword">this</strong>.get(i);
<a class="jxr_linenumber" name="1035" href="#1035">1035</a>             byte v2 = that.get(j);
<a class="jxr_linenumber" name="1036" href="#1036">1036</a>             <strong class="jxr_keyword">if</strong> (v1 != v2) {
<a class="jxr_linenumber" name="1037" href="#1037">1037</a>                 <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="1038" href="#1038">1038</a>             }
<a class="jxr_linenumber" name="1039" href="#1039">1039</a>         }
<a class="jxr_linenumber" name="1040" href="#1040">1040</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1041" href="#1041">1041</a>     }
<a class="jxr_linenumber" name="1042" href="#1042">1042</a> 
<a class="jxr_linenumber" name="1043" href="#1043">1043</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1044" href="#1044">1044</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1045" href="#1045">1045</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1046" href="#1046">1046</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compareTo(<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> that) {
<a class="jxr_linenumber" name="1047" href="#1047">1047</a>         <strong class="jxr_keyword">int</strong> n = <strong class="jxr_keyword">this</strong>.position() + Math.min(<strong class="jxr_keyword">this</strong>.remaining(), that.remaining());
<a class="jxr_linenumber" name="1048" href="#1048">1048</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = <strong class="jxr_keyword">this</strong>.position(), j = that.position(); i &lt; n; i++, j++) {
<a class="jxr_linenumber" name="1049" href="#1049">1049</a>             byte v1 = <strong class="jxr_keyword">this</strong>.get(i);
<a class="jxr_linenumber" name="1050" href="#1050">1050</a>             byte v2 = that.get(j);
<a class="jxr_linenumber" name="1051" href="#1051">1051</a>             <strong class="jxr_keyword">if</strong> (v1 == v2) {
<a class="jxr_linenumber" name="1052" href="#1052">1052</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1053" href="#1053">1053</a>             }
<a class="jxr_linenumber" name="1054" href="#1054">1054</a>             <strong class="jxr_keyword">if</strong> (v1 &lt; v2) {
<a class="jxr_linenumber" name="1055" href="#1055">1055</a>                 <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="1056" href="#1056">1056</a>             }
<a class="jxr_linenumber" name="1057" href="#1057">1057</a> 
<a class="jxr_linenumber" name="1058" href="#1058">1058</a>             <strong class="jxr_keyword">return</strong> +1;
<a class="jxr_linenumber" name="1059" href="#1059">1059</a>         }
<a class="jxr_linenumber" name="1060" href="#1060">1060</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.remaining() - that.remaining();
<a class="jxr_linenumber" name="1061" href="#1061">1061</a>     }
<a class="jxr_linenumber" name="1062" href="#1062">1062</a> 
<a class="jxr_linenumber" name="1063" href="#1063">1063</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1064" href="#1064">1064</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1065" href="#1065">1065</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1066" href="#1066">1066</a>     @Override
<a class="jxr_linenumber" name="1067" href="#1067">1067</a>     <strong class="jxr_keyword">public</strong> String toString() {
<a class="jxr_linenumber" name="1068" href="#1068">1068</a>         StringBuilder buf = <strong class="jxr_keyword">new</strong> StringBuilder();
<a class="jxr_linenumber" name="1069" href="#1069">1069</a>         <strong class="jxr_keyword">if</strong> (isDirect()) {
<a class="jxr_linenumber" name="1070" href="#1070">1070</a>             buf.append(<span class="jxr_string">"DirectBuffer"</span>);
<a class="jxr_linenumber" name="1071" href="#1071">1071</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1072" href="#1072">1072</a>             buf.append(<span class="jxr_string">"HeapBuffer"</span>);
<a class="jxr_linenumber" name="1073" href="#1073">1073</a>         }
<a class="jxr_linenumber" name="1074" href="#1074">1074</a>         buf.append(<span class="jxr_string">"[pos="</span>);
<a class="jxr_linenumber" name="1075" href="#1075">1075</a>         buf.append(position());
<a class="jxr_linenumber" name="1076" href="#1076">1076</a>         buf.append(<span class="jxr_string">" lim="</span>);
<a class="jxr_linenumber" name="1077" href="#1077">1077</a>         buf.append(limit());
<a class="jxr_linenumber" name="1078" href="#1078">1078</a>         buf.append(<span class="jxr_string">" cap="</span>);
<a class="jxr_linenumber" name="1079" href="#1079">1079</a>         buf.append(capacity());
<a class="jxr_linenumber" name="1080" href="#1080">1080</a>         buf.append(<span class="jxr_string">": "</span>);
<a class="jxr_linenumber" name="1081" href="#1081">1081</a>         buf.append(getHexDump(16));
<a class="jxr_linenumber" name="1082" href="#1082">1082</a>         buf.append(']');
<a class="jxr_linenumber" name="1083" href="#1083">1083</a>         <strong class="jxr_keyword">return</strong> buf.toString();
<a class="jxr_linenumber" name="1084" href="#1084">1084</a>     }
<a class="jxr_linenumber" name="1085" href="#1085">1085</a> 
<a class="jxr_linenumber" name="1086" href="#1086">1086</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1087" href="#1087">1087</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1088" href="#1088">1088</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1089" href="#1089">1089</a>     @Override
<a class="jxr_linenumber" name="1090" href="#1090">1090</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> get(byte[] dst) {
<a class="jxr_linenumber" name="1091" href="#1091">1091</a>         <strong class="jxr_keyword">return</strong> get(dst, 0, dst.length);
<a class="jxr_linenumber" name="1092" href="#1092">1092</a>     }
<a class="jxr_linenumber" name="1093" href="#1093">1093</a> 
<a class="jxr_linenumber" name="1094" href="#1094">1094</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1095" href="#1095">1095</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1096" href="#1096">1096</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1097" href="#1097">1097</a>     @Override
<a class="jxr_linenumber" name="1098" href="#1098">1098</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(<a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> src) {
<a class="jxr_linenumber" name="1099" href="#1099">1099</a>         <strong class="jxr_keyword">return</strong> put(src.buf());
<a class="jxr_linenumber" name="1100" href="#1100">1100</a>     }
<a class="jxr_linenumber" name="1101" href="#1101">1101</a> 
<a class="jxr_linenumber" name="1102" href="#1102">1102</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1103" href="#1103">1103</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1104" href="#1104">1104</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1105" href="#1105">1105</a>     @Override
<a class="jxr_linenumber" name="1106" href="#1106">1106</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> put(byte[] src) {
<a class="jxr_linenumber" name="1107" href="#1107">1107</a>         <strong class="jxr_keyword">return</strong> put(src, 0, src.length);
<a class="jxr_linenumber" name="1108" href="#1108">1108</a>     }
<a class="jxr_linenumber" name="1109" href="#1109">1109</a> 
<a class="jxr_linenumber" name="1110" href="#1110">1110</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1111" href="#1111">1111</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1112" href="#1112">1112</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1113" href="#1113">1113</a>     @Override
<a class="jxr_linenumber" name="1114" href="#1114">1114</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getUnsignedShort() {
<a class="jxr_linenumber" name="1115" href="#1115">1115</a>         <strong class="jxr_keyword">return</strong> getShort() &amp; 0xffff;
<a class="jxr_linenumber" name="1116" href="#1116">1116</a>     }
<a class="jxr_linenumber" name="1117" href="#1117">1117</a> 
<a class="jxr_linenumber" name="1118" href="#1118">1118</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1119" href="#1119">1119</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1120" href="#1120">1120</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1121" href="#1121">1121</a>     @Override
<a class="jxr_linenumber" name="1122" href="#1122">1122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getUnsignedShort(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="1123" href="#1123">1123</a>         <strong class="jxr_keyword">return</strong> getShort(index) &amp; 0xffff;
<a class="jxr_linenumber" name="1124" href="#1124">1124</a>     }
<a class="jxr_linenumber" name="1125" href="#1125">1125</a> 
<a class="jxr_linenumber" name="1126" href="#1126">1126</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1127" href="#1127">1127</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1128" href="#1128">1128</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1129" href="#1129">1129</a>     @Override
<a class="jxr_linenumber" name="1130" href="#1130">1130</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getUnsignedInt() {
<a class="jxr_linenumber" name="1131" href="#1131">1131</a>         <strong class="jxr_keyword">return</strong> getInt() &amp; 0xffffffffL;
<a class="jxr_linenumber" name="1132" href="#1132">1132</a>     }
<a class="jxr_linenumber" name="1133" href="#1133">1133</a> 
<a class="jxr_linenumber" name="1134" href="#1134">1134</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1135" href="#1135">1135</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1136" href="#1136">1136</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1137" href="#1137">1137</a>     @Override
<a class="jxr_linenumber" name="1138" href="#1138">1138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMediumInt() {
<a class="jxr_linenumber" name="1139" href="#1139">1139</a>         byte b1 = get();
<a class="jxr_linenumber" name="1140" href="#1140">1140</a>         byte b2 = get();
<a class="jxr_linenumber" name="1141" href="#1141">1141</a>         byte b3 = get();
<a class="jxr_linenumber" name="1142" href="#1142">1142</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1143" href="#1143">1143</a>             <strong class="jxr_keyword">return</strong> getMediumInt(b1, b2, b3);
<a class="jxr_linenumber" name="1144" href="#1144">1144</a>         }
<a class="jxr_linenumber" name="1145" href="#1145">1145</a> 
<a class="jxr_linenumber" name="1146" href="#1146">1146</a>         <strong class="jxr_keyword">return</strong> getMediumInt(b3, b2, b1);
<a class="jxr_linenumber" name="1147" href="#1147">1147</a>     }
<a class="jxr_linenumber" name="1148" href="#1148">1148</a> 
<a class="jxr_linenumber" name="1149" href="#1149">1149</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1150" href="#1150">1150</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1151" href="#1151">1151</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1152" href="#1152">1152</a>     @Override
<a class="jxr_linenumber" name="1153" href="#1153">1153</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getUnsignedMediumInt() {
<a class="jxr_linenumber" name="1154" href="#1154">1154</a>         <strong class="jxr_keyword">int</strong> b1 = getUnsigned();
<a class="jxr_linenumber" name="1155" href="#1155">1155</a>         <strong class="jxr_keyword">int</strong> b2 = getUnsigned();
<a class="jxr_linenumber" name="1156" href="#1156">1156</a>         <strong class="jxr_keyword">int</strong> b3 = getUnsigned();
<a class="jxr_linenumber" name="1157" href="#1157">1157</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1158" href="#1158">1158</a>             <strong class="jxr_keyword">return</strong> b1 &lt;&lt; 16 | b2 &lt;&lt; 8 | b3;
<a class="jxr_linenumber" name="1159" href="#1159">1159</a>         }
<a class="jxr_linenumber" name="1160" href="#1160">1160</a> 
<a class="jxr_linenumber" name="1161" href="#1161">1161</a>         <strong class="jxr_keyword">return</strong> b3 &lt;&lt; 16 | b2 &lt;&lt; 8 | b1;
<a class="jxr_linenumber" name="1162" href="#1162">1162</a>     }
<a class="jxr_linenumber" name="1163" href="#1163">1163</a> 
<a class="jxr_linenumber" name="1164" href="#1164">1164</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1165" href="#1165">1165</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1166" href="#1166">1166</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1167" href="#1167">1167</a>     @Override
<a class="jxr_linenumber" name="1168" href="#1168">1168</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getMediumInt(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="1169" href="#1169">1169</a>         byte b1 = get(index);
<a class="jxr_linenumber" name="1170" href="#1170">1170</a>         byte b2 = get(index + 1);
<a class="jxr_linenumber" name="1171" href="#1171">1171</a>         byte b3 = get(index + 2);
<a class="jxr_linenumber" name="1172" href="#1172">1172</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1173" href="#1173">1173</a>             <strong class="jxr_keyword">return</strong> getMediumInt(b1, b2, b3);
<a class="jxr_linenumber" name="1174" href="#1174">1174</a>         }
<a class="jxr_linenumber" name="1175" href="#1175">1175</a> 
<a class="jxr_linenumber" name="1176" href="#1176">1176</a>         <strong class="jxr_keyword">return</strong> getMediumInt(b3, b2, b1);
<a class="jxr_linenumber" name="1177" href="#1177">1177</a>     }
<a class="jxr_linenumber" name="1178" href="#1178">1178</a> 
<a class="jxr_linenumber" name="1179" href="#1179">1179</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1180" href="#1180">1180</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1181" href="#1181">1181</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1182" href="#1182">1182</a>     @Override
<a class="jxr_linenumber" name="1183" href="#1183">1183</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getUnsignedMediumInt(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="1184" href="#1184">1184</a>         <strong class="jxr_keyword">int</strong> b1 = getUnsigned(index);
<a class="jxr_linenumber" name="1185" href="#1185">1185</a>         <strong class="jxr_keyword">int</strong> b2 = getUnsigned(index + 1);
<a class="jxr_linenumber" name="1186" href="#1186">1186</a>         <strong class="jxr_keyword">int</strong> b3 = getUnsigned(index + 2);
<a class="jxr_linenumber" name="1187" href="#1187">1187</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1188" href="#1188">1188</a>             <strong class="jxr_keyword">return</strong> b1 &lt;&lt; 16 | b2 &lt;&lt; 8 | b3;
<a class="jxr_linenumber" name="1189" href="#1189">1189</a>         }
<a class="jxr_linenumber" name="1190" href="#1190">1190</a> 
<a class="jxr_linenumber" name="1191" href="#1191">1191</a>         <strong class="jxr_keyword">return</strong> b3 &lt;&lt; 16 | b2 &lt;&lt; 8 | b1;
<a class="jxr_linenumber" name="1192" href="#1192">1192</a>     }
<a class="jxr_linenumber" name="1193" href="#1193">1193</a> 
<a class="jxr_linenumber" name="1194" href="#1194">1194</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1195" href="#1195">1195</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1196" href="#1196">1196</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1197" href="#1197">1197</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> getMediumInt(byte b1, byte b2, byte b3) {
<a class="jxr_linenumber" name="1198" href="#1198">1198</a>         <strong class="jxr_keyword">int</strong> ret = b1 &lt;&lt; 16 &amp; 0xff0000 | b2 &lt;&lt; 8 &amp; 0xff00 | b3 &amp; 0xff;
<a class="jxr_linenumber" name="1199" href="#1199">1199</a>         <em class="jxr_comment">// Check to see if the medium int is negative (high bit in b1 set)</em>
<a class="jxr_linenumber" name="1200" href="#1200">1200</a>         <strong class="jxr_keyword">if</strong> ((b1 &amp; 0x80) == 0x80) {
<a class="jxr_linenumber" name="1201" href="#1201">1201</a>             <em class="jxr_comment">// Make the the whole int negative</em>
<a class="jxr_linenumber" name="1202" href="#1202">1202</a>             ret |= 0xff000000;
<a class="jxr_linenumber" name="1203" href="#1203">1203</a>         }
<a class="jxr_linenumber" name="1204" href="#1204">1204</a>         <strong class="jxr_keyword">return</strong> ret;
<a class="jxr_linenumber" name="1205" href="#1205">1205</a>     }
<a class="jxr_linenumber" name="1206" href="#1206">1206</a> 
<a class="jxr_linenumber" name="1207" href="#1207">1207</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1208" href="#1208">1208</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1209" href="#1209">1209</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1210" href="#1210">1210</a>     @Override
<a class="jxr_linenumber" name="1211" href="#1211">1211</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putMediumInt(<strong class="jxr_keyword">int</strong> value) {
<a class="jxr_linenumber" name="1212" href="#1212">1212</a>         byte b1 = (byte) (value &gt;&gt; 16);
<a class="jxr_linenumber" name="1213" href="#1213">1213</a>         byte b2 = (byte) (value &gt;&gt; 8);
<a class="jxr_linenumber" name="1214" href="#1214">1214</a>         byte b3 = (byte) value;
<a class="jxr_linenumber" name="1215" href="#1215">1215</a> 
<a class="jxr_linenumber" name="1216" href="#1216">1216</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1217" href="#1217">1217</a>             put(b1).put(b2).put(b3);
<a class="jxr_linenumber" name="1218" href="#1218">1218</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1219" href="#1219">1219</a>             put(b3).put(b2).put(b1);
<a class="jxr_linenumber" name="1220" href="#1220">1220</a>         }
<a class="jxr_linenumber" name="1221" href="#1221">1221</a> 
<a class="jxr_linenumber" name="1222" href="#1222">1222</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1223" href="#1223">1223</a>     }
<a class="jxr_linenumber" name="1224" href="#1224">1224</a> 
<a class="jxr_linenumber" name="1225" href="#1225">1225</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1226" href="#1226">1226</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1227" href="#1227">1227</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1228" href="#1228">1228</a>     @Override
<a class="jxr_linenumber" name="1229" href="#1229">1229</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putMediumInt(<strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> value) {
<a class="jxr_linenumber" name="1230" href="#1230">1230</a>         byte b1 = (byte) (value &gt;&gt; 16);
<a class="jxr_linenumber" name="1231" href="#1231">1231</a>         byte b2 = (byte) (value &gt;&gt; 8);
<a class="jxr_linenumber" name="1232" href="#1232">1232</a>         byte b3 = (byte) value;
<a class="jxr_linenumber" name="1233" href="#1233">1233</a> 
<a class="jxr_linenumber" name="1234" href="#1234">1234</a>         <strong class="jxr_keyword">if</strong> (ByteOrder.BIG_ENDIAN.equals(order())) {
<a class="jxr_linenumber" name="1235" href="#1235">1235</a>             put(index, b1).put(index + 1, b2).put(index + 2, b3);
<a class="jxr_linenumber" name="1236" href="#1236">1236</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1237" href="#1237">1237</a>             put(index, b3).put(index + 1, b2).put(index + 2, b1);
<a class="jxr_linenumber" name="1238" href="#1238">1238</a>         }
<a class="jxr_linenumber" name="1239" href="#1239">1239</a> 
<a class="jxr_linenumber" name="1240" href="#1240">1240</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1241" href="#1241">1241</a>     }
<a class="jxr_linenumber" name="1242" href="#1242">1242</a> 
<a class="jxr_linenumber" name="1243" href="#1243">1243</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1244" href="#1244">1244</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1245" href="#1245">1245</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1246" href="#1246">1246</a>     @Override
<a class="jxr_linenumber" name="1247" href="#1247">1247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getUnsignedInt(<strong class="jxr_keyword">int</strong> index) {
<a class="jxr_linenumber" name="1248" href="#1248">1248</a>         <strong class="jxr_keyword">return</strong> getInt(index) &amp; 0xffffffffL;
<a class="jxr_linenumber" name="1249" href="#1249">1249</a>     }
<a class="jxr_linenumber" name="1250" href="#1250">1250</a> 
<a class="jxr_linenumber" name="1251" href="#1251">1251</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1252" href="#1252">1252</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1253" href="#1253">1253</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1254" href="#1254">1254</a>     @Override
<a class="jxr_linenumber" name="1255" href="#1255">1255</a>     <strong class="jxr_keyword">public</strong> InputStream asInputStream() {
<a class="jxr_linenumber" name="1256" href="#1256">1256</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> InputStream() {
<a class="jxr_linenumber" name="1257" href="#1257">1257</a>             @Override
<a class="jxr_linenumber" name="1258" href="#1258">1258</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> available() {
<a class="jxr_linenumber" name="1259" href="#1259">1259</a>                 <strong class="jxr_keyword">return</strong> AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.remaining();
<a class="jxr_linenumber" name="1260" href="#1260">1260</a>             }
<a class="jxr_linenumber" name="1261" href="#1261">1261</a> 
<a class="jxr_linenumber" name="1262" href="#1262">1262</a>             @Override
<a class="jxr_linenumber" name="1263" href="#1263">1263</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> mark(<strong class="jxr_keyword">int</strong> readlimit) {
<a class="jxr_linenumber" name="1264" href="#1264">1264</a>                 AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.mark();
<a class="jxr_linenumber" name="1265" href="#1265">1265</a>             }
<a class="jxr_linenumber" name="1266" href="#1266">1266</a> 
<a class="jxr_linenumber" name="1267" href="#1267">1267</a>             @Override
<a class="jxr_linenumber" name="1268" href="#1268">1268</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> markSupported() {
<a class="jxr_linenumber" name="1269" href="#1269">1269</a>                 <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="1270" href="#1270">1270</a>             }
<a class="jxr_linenumber" name="1271" href="#1271">1271</a> 
<a class="jxr_linenumber" name="1272" href="#1272">1272</a>             @Override
<a class="jxr_linenumber" name="1273" href="#1273">1273</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read() {
<a class="jxr_linenumber" name="1274" href="#1274">1274</a>                 <strong class="jxr_keyword">if</strong> (AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.hasRemaining()) {
<a class="jxr_linenumber" name="1275" href="#1275">1275</a>                     <strong class="jxr_keyword">return</strong> AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.get() &amp; 0xff;
<a class="jxr_linenumber" name="1276" href="#1276">1276</a>                 }
<a class="jxr_linenumber" name="1277" href="#1277">1277</a> 
<a class="jxr_linenumber" name="1278" href="#1278">1278</a>                 <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="1279" href="#1279">1279</a>             }
<a class="jxr_linenumber" name="1280" href="#1280">1280</a> 
<a class="jxr_linenumber" name="1281" href="#1281">1281</a>             @Override
<a class="jxr_linenumber" name="1282" href="#1282">1282</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> read(byte[] b, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) {
<a class="jxr_linenumber" name="1283" href="#1283">1283</a>                 <strong class="jxr_keyword">int</strong> remaining = AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.remaining();
<a class="jxr_linenumber" name="1284" href="#1284">1284</a>                 <strong class="jxr_keyword">if</strong> (remaining &gt; 0) {
<a class="jxr_linenumber" name="1285" href="#1285">1285</a>                     <strong class="jxr_keyword">int</strong> readBytes = Math.min(remaining, len);
<a class="jxr_linenumber" name="1286" href="#1286">1286</a>                     AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.get(b, off, readBytes);
<a class="jxr_linenumber" name="1287" href="#1287">1287</a>                     <strong class="jxr_keyword">return</strong> readBytes;
<a class="jxr_linenumber" name="1288" href="#1288">1288</a>                 }
<a class="jxr_linenumber" name="1289" href="#1289">1289</a> 
<a class="jxr_linenumber" name="1290" href="#1290">1290</a>                 <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="1291" href="#1291">1291</a>             }
<a class="jxr_linenumber" name="1292" href="#1292">1292</a> 
<a class="jxr_linenumber" name="1293" href="#1293">1293</a>             @Override
<a class="jxr_linenumber" name="1294" href="#1294">1294</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> reset() {
<a class="jxr_linenumber" name="1295" href="#1295">1295</a>                 AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.reset();
<a class="jxr_linenumber" name="1296" href="#1296">1296</a>             }
<a class="jxr_linenumber" name="1297" href="#1297">1297</a> 
<a class="jxr_linenumber" name="1298" href="#1298">1298</a>             @Override
<a class="jxr_linenumber" name="1299" href="#1299">1299</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> skip(<strong class="jxr_keyword">long</strong> n) {
<a class="jxr_linenumber" name="1300" href="#1300">1300</a>                 <strong class="jxr_keyword">int</strong> bytes;
<a class="jxr_linenumber" name="1301" href="#1301">1301</a>                 <strong class="jxr_keyword">if</strong> (n &gt; Integer.MAX_VALUE) {
<a class="jxr_linenumber" name="1302" href="#1302">1302</a>                     bytes = AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.remaining();
<a class="jxr_linenumber" name="1303" href="#1303">1303</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1304" href="#1304">1304</a>                     bytes = Math
<a class="jxr_linenumber" name="1305" href="#1305">1305</a>                             .min(AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.remaining(), (<strong class="jxr_keyword">int</strong>) n);
<a class="jxr_linenumber" name="1306" href="#1306">1306</a>                 }
<a class="jxr_linenumber" name="1307" href="#1307">1307</a>                 AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.skip(bytes);
<a class="jxr_linenumber" name="1308" href="#1308">1308</a>                 <strong class="jxr_keyword">return</strong> bytes;
<a class="jxr_linenumber" name="1309" href="#1309">1309</a>             }
<a class="jxr_linenumber" name="1310" href="#1310">1310</a>         };
<a class="jxr_linenumber" name="1311" href="#1311">1311</a>     }
<a class="jxr_linenumber" name="1312" href="#1312">1312</a> 
<a class="jxr_linenumber" name="1313" href="#1313">1313</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1314" href="#1314">1314</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1315" href="#1315">1315</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1316" href="#1316">1316</a>     @Override
<a class="jxr_linenumber" name="1317" href="#1317">1317</a>     <strong class="jxr_keyword">public</strong> OutputStream asOutputStream() {
<a class="jxr_linenumber" name="1318" href="#1318">1318</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> OutputStream() {
<a class="jxr_linenumber" name="1319" href="#1319">1319</a>             @Override
<a class="jxr_linenumber" name="1320" href="#1320">1320</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(byte[] b, <strong class="jxr_keyword">int</strong> off, <strong class="jxr_keyword">int</strong> len) {
<a class="jxr_linenumber" name="1321" href="#1321">1321</a>                 AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.put(b, off, len);
<a class="jxr_linenumber" name="1322" href="#1322">1322</a>             }
<a class="jxr_linenumber" name="1323" href="#1323">1323</a> 
<a class="jxr_linenumber" name="1324" href="#1324">1324</a>             @Override
<a class="jxr_linenumber" name="1325" href="#1325">1325</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> write(<strong class="jxr_keyword">int</strong> b) {
<a class="jxr_linenumber" name="1326" href="#1326">1326</a>                 AbstractIoBuffer.<strong class="jxr_keyword">this</strong>.put((byte) b);
<a class="jxr_linenumber" name="1327" href="#1327">1327</a>             }
<a class="jxr_linenumber" name="1328" href="#1328">1328</a>         };
<a class="jxr_linenumber" name="1329" href="#1329">1329</a>     }
<a class="jxr_linenumber" name="1330" href="#1330">1330</a> 
<a class="jxr_linenumber" name="1331" href="#1331">1331</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1332" href="#1332">1332</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1333" href="#1333">1333</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1334" href="#1334">1334</a>     @Override
<a class="jxr_linenumber" name="1335" href="#1335">1335</a>     <strong class="jxr_keyword">public</strong> String getHexDump() {
<a class="jxr_linenumber" name="1336" href="#1336">1336</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.getHexDump(Integer.MAX_VALUE);
<a class="jxr_linenumber" name="1337" href="#1337">1337</a>     }
<a class="jxr_linenumber" name="1338" href="#1338">1338</a> 
<a class="jxr_linenumber" name="1339" href="#1339">1339</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1340" href="#1340">1340</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1341" href="#1341">1341</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1342" href="#1342">1342</a>     @Override
<a class="jxr_linenumber" name="1343" href="#1343">1343</a>     <strong class="jxr_keyword">public</strong> String getHexDump(<strong class="jxr_keyword">int</strong> lengthLimit) {
<a class="jxr_linenumber" name="1344" href="#1344">1344</a>         <strong class="jxr_keyword">return</strong> IoBufferHexDumper.getHexdump(<strong class="jxr_keyword">this</strong>, lengthLimit);
<a class="jxr_linenumber" name="1345" href="#1345">1345</a>     }
<a class="jxr_linenumber" name="1346" href="#1346">1346</a> 
<a class="jxr_linenumber" name="1347" href="#1347">1347</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1348" href="#1348">1348</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1349" href="#1349">1349</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1350" href="#1350">1350</a>     @Override
<a class="jxr_linenumber" name="1351" href="#1351">1351</a>     <strong class="jxr_keyword">public</strong> String getString(CharsetDecoder decoder)
<a class="jxr_linenumber" name="1352" href="#1352">1352</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1353" href="#1353">1353</a>         <strong class="jxr_keyword">if</strong> (!hasRemaining()) {
<a class="jxr_linenumber" name="1354" href="#1354">1354</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1355" href="#1355">1355</a>         }
<a class="jxr_linenumber" name="1356" href="#1356">1356</a> 
<a class="jxr_linenumber" name="1357" href="#1357">1357</a>         <strong class="jxr_keyword">boolean</strong> utf16 = decoder.charset().name().startsWith(<span class="jxr_string">"UTF-16"</span>);
<a class="jxr_linenumber" name="1358" href="#1358">1358</a> 
<a class="jxr_linenumber" name="1359" href="#1359">1359</a>         <strong class="jxr_keyword">int</strong> oldPos = position();
<a class="jxr_linenumber" name="1360" href="#1360">1360</a>         <strong class="jxr_keyword">int</strong> oldLimit = limit();
<a class="jxr_linenumber" name="1361" href="#1361">1361</a>         <strong class="jxr_keyword">int</strong> end = -1;
<a class="jxr_linenumber" name="1362" href="#1362">1362</a>         <strong class="jxr_keyword">int</strong> newPos;
<a class="jxr_linenumber" name="1363" href="#1363">1363</a> 
<a class="jxr_linenumber" name="1364" href="#1364">1364</a>         <strong class="jxr_keyword">if</strong> (!utf16) {
<a class="jxr_linenumber" name="1365" href="#1365">1365</a>             end = indexOf((byte) 0x00);
<a class="jxr_linenumber" name="1366" href="#1366">1366</a>             <strong class="jxr_keyword">if</strong> (end &lt; 0) {
<a class="jxr_linenumber" name="1367" href="#1367">1367</a>                 newPos = end = oldLimit;
<a class="jxr_linenumber" name="1368" href="#1368">1368</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1369" href="#1369">1369</a>                 newPos = end + 1;
<a class="jxr_linenumber" name="1370" href="#1370">1370</a>             }
<a class="jxr_linenumber" name="1371" href="#1371">1371</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1372" href="#1372">1372</a>             <strong class="jxr_keyword">int</strong> i = oldPos;
<a class="jxr_linenumber" name="1373" href="#1373">1373</a>             <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1374" href="#1374">1374</a>                 <strong class="jxr_keyword">boolean</strong> wasZero = get(i) == 0;
<a class="jxr_linenumber" name="1375" href="#1375">1375</a>                 i++;
<a class="jxr_linenumber" name="1376" href="#1376">1376</a> 
<a class="jxr_linenumber" name="1377" href="#1377">1377</a>                 <strong class="jxr_keyword">if</strong> (i &gt;= oldLimit) {
<a class="jxr_linenumber" name="1378" href="#1378">1378</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1379" href="#1379">1379</a>                 }
<a class="jxr_linenumber" name="1380" href="#1380">1380</a> 
<a class="jxr_linenumber" name="1381" href="#1381">1381</a>                 <strong class="jxr_keyword">if</strong> (get(i) != 0) {
<a class="jxr_linenumber" name="1382" href="#1382">1382</a>                     i++;
<a class="jxr_linenumber" name="1383" href="#1383">1383</a>                     <strong class="jxr_keyword">if</strong> (i &gt;= oldLimit) {
<a class="jxr_linenumber" name="1384" href="#1384">1384</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1385" href="#1385">1385</a>                     }
<a class="jxr_linenumber" name="1386" href="#1386">1386</a> 
<a class="jxr_linenumber" name="1387" href="#1387">1387</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1388" href="#1388">1388</a>                 }
<a class="jxr_linenumber" name="1389" href="#1389">1389</a> 
<a class="jxr_linenumber" name="1390" href="#1390">1390</a>                 <strong class="jxr_keyword">if</strong> (wasZero) {
<a class="jxr_linenumber" name="1391" href="#1391">1391</a>                     end = i - 1;
<a class="jxr_linenumber" name="1392" href="#1392">1392</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1393" href="#1393">1393</a>                 }
<a class="jxr_linenumber" name="1394" href="#1394">1394</a>             }
<a class="jxr_linenumber" name="1395" href="#1395">1395</a> 
<a class="jxr_linenumber" name="1396" href="#1396">1396</a>             <strong class="jxr_keyword">if</strong> (end &lt; 0) {
<a class="jxr_linenumber" name="1397" href="#1397">1397</a>                 newPos = end = oldPos + (oldLimit - oldPos &amp; 0xFFFFFFFE);
<a class="jxr_linenumber" name="1398" href="#1398">1398</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1399" href="#1399">1399</a>                 <strong class="jxr_keyword">if</strong> (end + 2 &lt;= oldLimit) {
<a class="jxr_linenumber" name="1400" href="#1400">1400</a>                     newPos = end + 2;
<a class="jxr_linenumber" name="1401" href="#1401">1401</a>                 } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1402" href="#1402">1402</a>                     newPos = end;
<a class="jxr_linenumber" name="1403" href="#1403">1403</a>                 }
<a class="jxr_linenumber" name="1404" href="#1404">1404</a>             }
<a class="jxr_linenumber" name="1405" href="#1405">1405</a>         }
<a class="jxr_linenumber" name="1406" href="#1406">1406</a> 
<a class="jxr_linenumber" name="1407" href="#1407">1407</a>         <strong class="jxr_keyword">if</strong> (oldPos == end) {
<a class="jxr_linenumber" name="1408" href="#1408">1408</a>             position(newPos);
<a class="jxr_linenumber" name="1409" href="#1409">1409</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1410" href="#1410">1410</a>         }
<a class="jxr_linenumber" name="1411" href="#1411">1411</a> 
<a class="jxr_linenumber" name="1412" href="#1412">1412</a>         limit(end);
<a class="jxr_linenumber" name="1413" href="#1413">1413</a>         decoder.reset();
<a class="jxr_linenumber" name="1414" href="#1414">1414</a> 
<a class="jxr_linenumber" name="1415" href="#1415">1415</a>         <strong class="jxr_keyword">int</strong> expectedLength = (<strong class="jxr_keyword">int</strong>) (remaining() * decoder.averageCharsPerByte()) + 1;
<a class="jxr_linenumber" name="1416" href="#1416">1416</a>         CharBuffer out = CharBuffer.allocate(expectedLength);
<a class="jxr_linenumber" name="1417" href="#1417">1417</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1418" href="#1418">1418</a>             CoderResult cr;
<a class="jxr_linenumber" name="1419" href="#1419">1419</a>             <strong class="jxr_keyword">if</strong> (hasRemaining()) {
<a class="jxr_linenumber" name="1420" href="#1420">1420</a>                 cr = decoder.decode(buf(), out, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1421" href="#1421">1421</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1422" href="#1422">1422</a>                 cr = decoder.flush(out);
<a class="jxr_linenumber" name="1423" href="#1423">1423</a>             }
<a class="jxr_linenumber" name="1424" href="#1424">1424</a> 
<a class="jxr_linenumber" name="1425" href="#1425">1425</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow()) {
<a class="jxr_linenumber" name="1426" href="#1426">1426</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1427" href="#1427">1427</a>             }
<a class="jxr_linenumber" name="1428" href="#1428">1428</a> 
<a class="jxr_linenumber" name="1429" href="#1429">1429</a>             <strong class="jxr_keyword">if</strong> (cr.isOverflow()) {
<a class="jxr_linenumber" name="1430" href="#1430">1430</a>                 CharBuffer o = CharBuffer.allocate(out.capacity()
<a class="jxr_linenumber" name="1431" href="#1431">1431</a>                         + expectedLength);
<a class="jxr_linenumber" name="1432" href="#1432">1432</a>                 out.flip();
<a class="jxr_linenumber" name="1433" href="#1433">1433</a>                 o.put(out);
<a class="jxr_linenumber" name="1434" href="#1434">1434</a>                 out = o;
<a class="jxr_linenumber" name="1435" href="#1435">1435</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1436" href="#1436">1436</a>             }
<a class="jxr_linenumber" name="1437" href="#1437">1437</a> 
<a class="jxr_linenumber" name="1438" href="#1438">1438</a>             <strong class="jxr_keyword">if</strong> (cr.isError()) {
<a class="jxr_linenumber" name="1439" href="#1439">1439</a>                 <em class="jxr_comment">// Revert the buffer back to the previous state.</em>
<a class="jxr_linenumber" name="1440" href="#1440">1440</a>                 limit(oldLimit);
<a class="jxr_linenumber" name="1441" href="#1441">1441</a>                 position(oldPos);
<a class="jxr_linenumber" name="1442" href="#1442">1442</a>                 cr.throwException();
<a class="jxr_linenumber" name="1443" href="#1443">1443</a>             }
<a class="jxr_linenumber" name="1444" href="#1444">1444</a>         }
<a class="jxr_linenumber" name="1445" href="#1445">1445</a> 
<a class="jxr_linenumber" name="1446" href="#1446">1446</a>         limit(oldLimit);
<a class="jxr_linenumber" name="1447" href="#1447">1447</a>         position(newPos);
<a class="jxr_linenumber" name="1448" href="#1448">1448</a>         <strong class="jxr_keyword">return</strong> out.flip().toString();
<a class="jxr_linenumber" name="1449" href="#1449">1449</a>     }
<a class="jxr_linenumber" name="1450" href="#1450">1450</a> 
<a class="jxr_linenumber" name="1451" href="#1451">1451</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1452" href="#1452">1452</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1453" href="#1453">1453</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1454" href="#1454">1454</a>     @Override
<a class="jxr_linenumber" name="1455" href="#1455">1455</a>     <strong class="jxr_keyword">public</strong> String getString(<strong class="jxr_keyword">int</strong> fieldSize, CharsetDecoder decoder)
<a class="jxr_linenumber" name="1456" href="#1456">1456</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1457" href="#1457">1457</a>         checkFieldSize(fieldSize);
<a class="jxr_linenumber" name="1458" href="#1458">1458</a> 
<a class="jxr_linenumber" name="1459" href="#1459">1459</a>         <strong class="jxr_keyword">if</strong> (fieldSize == 0) {
<a class="jxr_linenumber" name="1460" href="#1460">1460</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1461" href="#1461">1461</a>         }
<a class="jxr_linenumber" name="1462" href="#1462">1462</a> 
<a class="jxr_linenumber" name="1463" href="#1463">1463</a>         <strong class="jxr_keyword">if</strong> (!hasRemaining()) {
<a class="jxr_linenumber" name="1464" href="#1464">1464</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1465" href="#1465">1465</a>         }
<a class="jxr_linenumber" name="1466" href="#1466">1466</a> 
<a class="jxr_linenumber" name="1467" href="#1467">1467</a>         <strong class="jxr_keyword">boolean</strong> utf16 = decoder.charset().name().startsWith(<span class="jxr_string">"UTF-16"</span>);
<a class="jxr_linenumber" name="1468" href="#1468">1468</a> 
<a class="jxr_linenumber" name="1469" href="#1469">1469</a>         <strong class="jxr_keyword">if</strong> (utf16 &amp;&amp; (fieldSize &amp; 1) != 0) {
<a class="jxr_linenumber" name="1470" href="#1470">1470</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"fieldSize is not even."</span>);
<a class="jxr_linenumber" name="1471" href="#1471">1471</a>         }
<a class="jxr_linenumber" name="1472" href="#1472">1472</a> 
<a class="jxr_linenumber" name="1473" href="#1473">1473</a>         <strong class="jxr_keyword">int</strong> oldPos = position();
<a class="jxr_linenumber" name="1474" href="#1474">1474</a>         <strong class="jxr_keyword">int</strong> oldLimit = limit();
<a class="jxr_linenumber" name="1475" href="#1475">1475</a>         <strong class="jxr_keyword">int</strong> end = oldPos + fieldSize;
<a class="jxr_linenumber" name="1476" href="#1476">1476</a> 
<a class="jxr_linenumber" name="1477" href="#1477">1477</a>         <strong class="jxr_keyword">if</strong> (oldLimit &lt; end) {
<a class="jxr_linenumber" name="1478" href="#1478">1478</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BufferUnderflowException();
<a class="jxr_linenumber" name="1479" href="#1479">1479</a>         }
<a class="jxr_linenumber" name="1480" href="#1480">1480</a> 
<a class="jxr_linenumber" name="1481" href="#1481">1481</a>         <strong class="jxr_keyword">int</strong> i;
<a class="jxr_linenumber" name="1482" href="#1482">1482</a> 
<a class="jxr_linenumber" name="1483" href="#1483">1483</a>         <strong class="jxr_keyword">if</strong> (!utf16) {
<a class="jxr_linenumber" name="1484" href="#1484">1484</a>             <strong class="jxr_keyword">for</strong> (i = oldPos; i &lt; end; i++) {
<a class="jxr_linenumber" name="1485" href="#1485">1485</a>                 <strong class="jxr_keyword">if</strong> (get(i) == 0) {
<a class="jxr_linenumber" name="1486" href="#1486">1486</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1487" href="#1487">1487</a>                 }
<a class="jxr_linenumber" name="1488" href="#1488">1488</a>             }
<a class="jxr_linenumber" name="1489" href="#1489">1489</a> 
<a class="jxr_linenumber" name="1490" href="#1490">1490</a>             <strong class="jxr_keyword">if</strong> (i == end) {
<a class="jxr_linenumber" name="1491" href="#1491">1491</a>                 limit(end);
<a class="jxr_linenumber" name="1492" href="#1492">1492</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1493" href="#1493">1493</a>                 limit(i);
<a class="jxr_linenumber" name="1494" href="#1494">1494</a>             }
<a class="jxr_linenumber" name="1495" href="#1495">1495</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1496" href="#1496">1496</a>             <strong class="jxr_keyword">for</strong> (i = oldPos; i &lt; end; i += 2) {
<a class="jxr_linenumber" name="1497" href="#1497">1497</a>                 <strong class="jxr_keyword">if</strong> (get(i) == 0 &amp;&amp; get(i + 1) == 0) {
<a class="jxr_linenumber" name="1498" href="#1498">1498</a>                     <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1499" href="#1499">1499</a>                 }
<a class="jxr_linenumber" name="1500" href="#1500">1500</a>             }
<a class="jxr_linenumber" name="1501" href="#1501">1501</a> 
<a class="jxr_linenumber" name="1502" href="#1502">1502</a>             <strong class="jxr_keyword">if</strong> (i == end) {
<a class="jxr_linenumber" name="1503" href="#1503">1503</a>                 limit(end);
<a class="jxr_linenumber" name="1504" href="#1504">1504</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1505" href="#1505">1505</a>                 limit(i);
<a class="jxr_linenumber" name="1506" href="#1506">1506</a>             }
<a class="jxr_linenumber" name="1507" href="#1507">1507</a>         }
<a class="jxr_linenumber" name="1508" href="#1508">1508</a> 
<a class="jxr_linenumber" name="1509" href="#1509">1509</a>         <strong class="jxr_keyword">if</strong> (!hasRemaining()) {
<a class="jxr_linenumber" name="1510" href="#1510">1510</a>             limit(oldLimit);
<a class="jxr_linenumber" name="1511" href="#1511">1511</a>             position(end);
<a class="jxr_linenumber" name="1512" href="#1512">1512</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1513" href="#1513">1513</a>         }
<a class="jxr_linenumber" name="1514" href="#1514">1514</a>         decoder.reset();
<a class="jxr_linenumber" name="1515" href="#1515">1515</a> 
<a class="jxr_linenumber" name="1516" href="#1516">1516</a>         <strong class="jxr_keyword">int</strong> expectedLength = (<strong class="jxr_keyword">int</strong>) (remaining() * decoder.averageCharsPerByte()) + 1;
<a class="jxr_linenumber" name="1517" href="#1517">1517</a>         CharBuffer out = CharBuffer.allocate(expectedLength);
<a class="jxr_linenumber" name="1518" href="#1518">1518</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1519" href="#1519">1519</a>             CoderResult cr;
<a class="jxr_linenumber" name="1520" href="#1520">1520</a>             <strong class="jxr_keyword">if</strong> (hasRemaining()) {
<a class="jxr_linenumber" name="1521" href="#1521">1521</a>                 cr = decoder.decode(buf(), out, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1522" href="#1522">1522</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1523" href="#1523">1523</a>                 cr = decoder.flush(out);
<a class="jxr_linenumber" name="1524" href="#1524">1524</a>             }
<a class="jxr_linenumber" name="1525" href="#1525">1525</a> 
<a class="jxr_linenumber" name="1526" href="#1526">1526</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow()) {
<a class="jxr_linenumber" name="1527" href="#1527">1527</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1528" href="#1528">1528</a>             }
<a class="jxr_linenumber" name="1529" href="#1529">1529</a> 
<a class="jxr_linenumber" name="1530" href="#1530">1530</a>             <strong class="jxr_keyword">if</strong> (cr.isOverflow()) {
<a class="jxr_linenumber" name="1531" href="#1531">1531</a>                 CharBuffer o = CharBuffer.allocate(out.capacity()
<a class="jxr_linenumber" name="1532" href="#1532">1532</a>                         + expectedLength);
<a class="jxr_linenumber" name="1533" href="#1533">1533</a>                 out.flip();
<a class="jxr_linenumber" name="1534" href="#1534">1534</a>                 o.put(out);
<a class="jxr_linenumber" name="1535" href="#1535">1535</a>                 out = o;
<a class="jxr_linenumber" name="1536" href="#1536">1536</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1537" href="#1537">1537</a>             }
<a class="jxr_linenumber" name="1538" href="#1538">1538</a> 
<a class="jxr_linenumber" name="1539" href="#1539">1539</a>             <strong class="jxr_keyword">if</strong> (cr.isError()) {
<a class="jxr_linenumber" name="1540" href="#1540">1540</a>                 <em class="jxr_comment">// Revert the buffer back to the previous state.</em>
<a class="jxr_linenumber" name="1541" href="#1541">1541</a>                 limit(oldLimit);
<a class="jxr_linenumber" name="1542" href="#1542">1542</a>                 position(oldPos);
<a class="jxr_linenumber" name="1543" href="#1543">1543</a>                 cr.throwException();
<a class="jxr_linenumber" name="1544" href="#1544">1544</a>             }
<a class="jxr_linenumber" name="1545" href="#1545">1545</a>         }
<a class="jxr_linenumber" name="1546" href="#1546">1546</a> 
<a class="jxr_linenumber" name="1547" href="#1547">1547</a>         limit(oldLimit);
<a class="jxr_linenumber" name="1548" href="#1548">1548</a>         position(end);
<a class="jxr_linenumber" name="1549" href="#1549">1549</a>         <strong class="jxr_keyword">return</strong> out.flip().toString();
<a class="jxr_linenumber" name="1550" href="#1550">1550</a>     }
<a class="jxr_linenumber" name="1551" href="#1551">1551</a> 
<a class="jxr_linenumber" name="1552" href="#1552">1552</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1553" href="#1553">1553</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1554" href="#1554">1554</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1555" href="#1555">1555</a>     @Override
<a class="jxr_linenumber" name="1556" href="#1556">1556</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putString(CharSequence val, CharsetEncoder encoder)
<a class="jxr_linenumber" name="1557" href="#1557">1557</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1558" href="#1558">1558</a>         <strong class="jxr_keyword">if</strong> (val.length() == 0) {
<a class="jxr_linenumber" name="1559" href="#1559">1559</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1560" href="#1560">1560</a>         }
<a class="jxr_linenumber" name="1561" href="#1561">1561</a> 
<a class="jxr_linenumber" name="1562" href="#1562">1562</a>         CharBuffer in = CharBuffer.wrap(val);
<a class="jxr_linenumber" name="1563" href="#1563">1563</a>         encoder.reset();
<a class="jxr_linenumber" name="1564" href="#1564">1564</a> 
<a class="jxr_linenumber" name="1565" href="#1565">1565</a>         <strong class="jxr_keyword">int</strong> expandedState = 0;
<a class="jxr_linenumber" name="1566" href="#1566">1566</a> 
<a class="jxr_linenumber" name="1567" href="#1567">1567</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1568" href="#1568">1568</a>             CoderResult cr;
<a class="jxr_linenumber" name="1569" href="#1569">1569</a>             <strong class="jxr_keyword">if</strong> (in.hasRemaining()) {
<a class="jxr_linenumber" name="1570" href="#1570">1570</a>                 cr = encoder.encode(in, buf(), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1571" href="#1571">1571</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1572" href="#1572">1572</a>                 cr = encoder.flush(buf());
<a class="jxr_linenumber" name="1573" href="#1573">1573</a>             }
<a class="jxr_linenumber" name="1574" href="#1574">1574</a> 
<a class="jxr_linenumber" name="1575" href="#1575">1575</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow()) {
<a class="jxr_linenumber" name="1576" href="#1576">1576</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1577" href="#1577">1577</a>             }
<a class="jxr_linenumber" name="1578" href="#1578">1578</a>             <strong class="jxr_keyword">if</strong> (cr.isOverflow()) {
<a class="jxr_linenumber" name="1579" href="#1579">1579</a>                 <strong class="jxr_keyword">if</strong> (isAutoExpand()) {
<a class="jxr_linenumber" name="1580" href="#1580">1580</a>                     <strong class="jxr_keyword">switch</strong> (expandedState) {
<a class="jxr_linenumber" name="1581" href="#1581">1581</a>                     <strong class="jxr_keyword">case</strong> 0:
<a class="jxr_linenumber" name="1582" href="#1582">1582</a>                         autoExpand((<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1583" href="#1583">1583</a>                                 * encoder.averageBytesPerChar()));
<a class="jxr_linenumber" name="1584" href="#1584">1584</a>                         expandedState++;
<a class="jxr_linenumber" name="1585" href="#1585">1585</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1586" href="#1586">1586</a>                     <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1587" href="#1587">1587</a>                         autoExpand((<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1588" href="#1588">1588</a>                                 * encoder.maxBytesPerChar()));
<a class="jxr_linenumber" name="1589" href="#1589">1589</a>                         expandedState++;
<a class="jxr_linenumber" name="1590" href="#1590">1590</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1591" href="#1591">1591</a>                     <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="1592" href="#1592">1592</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(<span class="jxr_string">"Expanded by "</span>
<a class="jxr_linenumber" name="1593" href="#1593">1593</a>                                 + (<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1594" href="#1594">1594</a>                                         * encoder.maxBytesPerChar())
<a class="jxr_linenumber" name="1595" href="#1595">1595</a>                                 + <span class="jxr_string">" but that wasn't enough for '"</span> + val + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="1596" href="#1596">1596</a>                     }
<a class="jxr_linenumber" name="1597" href="#1597">1597</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1598" href="#1598">1598</a>                 }
<a class="jxr_linenumber" name="1599" href="#1599">1599</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1600" href="#1600">1600</a>                 expandedState = 0;
<a class="jxr_linenumber" name="1601" href="#1601">1601</a>             }
<a class="jxr_linenumber" name="1602" href="#1602">1602</a>             cr.throwException();
<a class="jxr_linenumber" name="1603" href="#1603">1603</a>         }
<a class="jxr_linenumber" name="1604" href="#1604">1604</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1605" href="#1605">1605</a>     }
<a class="jxr_linenumber" name="1606" href="#1606">1606</a> 
<a class="jxr_linenumber" name="1607" href="#1607">1607</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1608" href="#1608">1608</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1609" href="#1609">1609</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1610" href="#1610">1610</a>     @Override
<a class="jxr_linenumber" name="1611" href="#1611">1611</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putString(CharSequence val, <strong class="jxr_keyword">int</strong> fieldSize,
<a class="jxr_linenumber" name="1612" href="#1612">1612</a>             CharsetEncoder encoder) <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1613" href="#1613">1613</a>         checkFieldSize(fieldSize);
<a class="jxr_linenumber" name="1614" href="#1614">1614</a> 
<a class="jxr_linenumber" name="1615" href="#1615">1615</a>         <strong class="jxr_keyword">if</strong> (fieldSize == 0) {
<a class="jxr_linenumber" name="1616" href="#1616">1616</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1617" href="#1617">1617</a>         }
<a class="jxr_linenumber" name="1618" href="#1618">1618</a> 
<a class="jxr_linenumber" name="1619" href="#1619">1619</a>         autoExpand(fieldSize);
<a class="jxr_linenumber" name="1620" href="#1620">1620</a> 
<a class="jxr_linenumber" name="1621" href="#1621">1621</a>         <strong class="jxr_keyword">boolean</strong> utf16 = encoder.charset().name().startsWith(<span class="jxr_string">"UTF-16"</span>);
<a class="jxr_linenumber" name="1622" href="#1622">1622</a> 
<a class="jxr_linenumber" name="1623" href="#1623">1623</a>         <strong class="jxr_keyword">if</strong> (utf16 &amp;&amp; (fieldSize &amp; 1) != 0) {
<a class="jxr_linenumber" name="1624" href="#1624">1624</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"fieldSize is not even."</span>);
<a class="jxr_linenumber" name="1625" href="#1625">1625</a>         }
<a class="jxr_linenumber" name="1626" href="#1626">1626</a> 
<a class="jxr_linenumber" name="1627" href="#1627">1627</a>         <strong class="jxr_keyword">int</strong> oldLimit = limit();
<a class="jxr_linenumber" name="1628" href="#1628">1628</a>         <strong class="jxr_keyword">int</strong> end = position() + fieldSize;
<a class="jxr_linenumber" name="1629" href="#1629">1629</a> 
<a class="jxr_linenumber" name="1630" href="#1630">1630</a>         <strong class="jxr_keyword">if</strong> (oldLimit &lt; end) {
<a class="jxr_linenumber" name="1631" href="#1631">1631</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BufferOverflowException();
<a class="jxr_linenumber" name="1632" href="#1632">1632</a>         }
<a class="jxr_linenumber" name="1633" href="#1633">1633</a> 
<a class="jxr_linenumber" name="1634" href="#1634">1634</a>         <strong class="jxr_keyword">if</strong> (val.length() == 0) {
<a class="jxr_linenumber" name="1635" href="#1635">1635</a>             <strong class="jxr_keyword">if</strong> (!utf16) {
<a class="jxr_linenumber" name="1636" href="#1636">1636</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1637" href="#1637">1637</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1638" href="#1638">1638</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1639" href="#1639">1639</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1640" href="#1640">1640</a>             }
<a class="jxr_linenumber" name="1641" href="#1641">1641</a>             position(end);
<a class="jxr_linenumber" name="1642" href="#1642">1642</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1643" href="#1643">1643</a>         }
<a class="jxr_linenumber" name="1644" href="#1644">1644</a> 
<a class="jxr_linenumber" name="1645" href="#1645">1645</a>         CharBuffer in = CharBuffer.wrap(val);
<a class="jxr_linenumber" name="1646" href="#1646">1646</a>         limit(end);
<a class="jxr_linenumber" name="1647" href="#1647">1647</a>         encoder.reset();
<a class="jxr_linenumber" name="1648" href="#1648">1648</a> 
<a class="jxr_linenumber" name="1649" href="#1649">1649</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1650" href="#1650">1650</a>             CoderResult cr;
<a class="jxr_linenumber" name="1651" href="#1651">1651</a>             <strong class="jxr_keyword">if</strong> (in.hasRemaining()) {
<a class="jxr_linenumber" name="1652" href="#1652">1652</a>                 cr = encoder.encode(in, buf(), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1653" href="#1653">1653</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1654" href="#1654">1654</a>                 cr = encoder.flush(buf());
<a class="jxr_linenumber" name="1655" href="#1655">1655</a>             }
<a class="jxr_linenumber" name="1656" href="#1656">1656</a> 
<a class="jxr_linenumber" name="1657" href="#1657">1657</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow() || cr.isOverflow()) {
<a class="jxr_linenumber" name="1658" href="#1658">1658</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1659" href="#1659">1659</a>             }
<a class="jxr_linenumber" name="1660" href="#1660">1660</a>             cr.throwException();
<a class="jxr_linenumber" name="1661" href="#1661">1661</a>         }
<a class="jxr_linenumber" name="1662" href="#1662">1662</a> 
<a class="jxr_linenumber" name="1663" href="#1663">1663</a>         limit(oldLimit);
<a class="jxr_linenumber" name="1664" href="#1664">1664</a> 
<a class="jxr_linenumber" name="1665" href="#1665">1665</a>         <strong class="jxr_keyword">if</strong> (position() &lt; end) {
<a class="jxr_linenumber" name="1666" href="#1666">1666</a>             <strong class="jxr_keyword">if</strong> (!utf16) {
<a class="jxr_linenumber" name="1667" href="#1667">1667</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1668" href="#1668">1668</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1669" href="#1669">1669</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1670" href="#1670">1670</a>                 put((byte) 0x00);
<a class="jxr_linenumber" name="1671" href="#1671">1671</a>             }
<a class="jxr_linenumber" name="1672" href="#1672">1672</a>         }
<a class="jxr_linenumber" name="1673" href="#1673">1673</a> 
<a class="jxr_linenumber" name="1674" href="#1674">1674</a>         position(end);
<a class="jxr_linenumber" name="1675" href="#1675">1675</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1676" href="#1676">1676</a>     }
<a class="jxr_linenumber" name="1677" href="#1677">1677</a> 
<a class="jxr_linenumber" name="1678" href="#1678">1678</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1679" href="#1679">1679</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1680" href="#1680">1680</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1681" href="#1681">1681</a>     @Override
<a class="jxr_linenumber" name="1682" href="#1682">1682</a>     <strong class="jxr_keyword">public</strong> String getPrefixedString(CharsetDecoder decoder)
<a class="jxr_linenumber" name="1683" href="#1683">1683</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1684" href="#1684">1684</a>         <strong class="jxr_keyword">return</strong> getPrefixedString(2, decoder);
<a class="jxr_linenumber" name="1685" href="#1685">1685</a>     }
<a class="jxr_linenumber" name="1686" href="#1686">1686</a> 
<a class="jxr_linenumber" name="1687" href="#1687">1687</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1688" href="#1688">1688</a> <em class="jxr_javadoccomment">     * Reads a string which has a length field before the actual</em>
<a class="jxr_linenumber" name="1689" href="#1689">1689</a> <em class="jxr_javadoccomment">     * encoded string, using the specified &lt;code&gt;decoder&lt;/code&gt; and returns it.</em>
<a class="jxr_linenumber" name="1690" href="#1690">1690</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="1691" href="#1691">1691</a> <em class="jxr_javadoccomment">     * @param prefixLength the length of the length field (1, 2, or 4)</em>
<a class="jxr_linenumber" name="1692" href="#1692">1692</a> <em class="jxr_javadoccomment">     * @param decoder the decoder to use for decoding the string</em>
<a class="jxr_linenumber" name="1693" href="#1693">1693</a> <em class="jxr_javadoccomment">     * @return the prefixed string</em>
<a class="jxr_linenumber" name="1694" href="#1694">1694</a> <em class="jxr_javadoccomment">     * @throws CharacterCodingException when decoding fails</em>
<a class="jxr_linenumber" name="1695" href="#1695">1695</a> <em class="jxr_javadoccomment">     * @throws BufferUnderflowException when there is not enough data available</em>
<a class="jxr_linenumber" name="1696" href="#1696">1696</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1697" href="#1697">1697</a>     @Override
<a class="jxr_linenumber" name="1698" href="#1698">1698</a>     <strong class="jxr_keyword">public</strong> String getPrefixedString(<strong class="jxr_keyword">int</strong> prefixLength, CharsetDecoder decoder)
<a class="jxr_linenumber" name="1699" href="#1699">1699</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1700" href="#1700">1700</a>         <strong class="jxr_keyword">if</strong> (!prefixedDataAvailable(prefixLength)) {
<a class="jxr_linenumber" name="1701" href="#1701">1701</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BufferUnderflowException();
<a class="jxr_linenumber" name="1702" href="#1702">1702</a>         }
<a class="jxr_linenumber" name="1703" href="#1703">1703</a> 
<a class="jxr_linenumber" name="1704" href="#1704">1704</a>         <strong class="jxr_keyword">int</strong> fieldSize = 0;
<a class="jxr_linenumber" name="1705" href="#1705">1705</a> 
<a class="jxr_linenumber" name="1706" href="#1706">1706</a>         <strong class="jxr_keyword">switch</strong> (prefixLength) {
<a class="jxr_linenumber" name="1707" href="#1707">1707</a>         <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1708" href="#1708">1708</a>             fieldSize = getUnsigned();
<a class="jxr_linenumber" name="1709" href="#1709">1709</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1710" href="#1710">1710</a>         <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="1711" href="#1711">1711</a>             fieldSize = getUnsignedShort();
<a class="jxr_linenumber" name="1712" href="#1712">1712</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1713" href="#1713">1713</a>         <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="1714" href="#1714">1714</a>             fieldSize = getInt();
<a class="jxr_linenumber" name="1715" href="#1715">1715</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1716" href="#1716">1716</a>         }
<a class="jxr_linenumber" name="1717" href="#1717">1717</a> 
<a class="jxr_linenumber" name="1718" href="#1718">1718</a>         <strong class="jxr_keyword">if</strong> (fieldSize == 0) {
<a class="jxr_linenumber" name="1719" href="#1719">1719</a>             <strong class="jxr_keyword">return</strong> <span class="jxr_string">""</span>;
<a class="jxr_linenumber" name="1720" href="#1720">1720</a>         }
<a class="jxr_linenumber" name="1721" href="#1721">1721</a> 
<a class="jxr_linenumber" name="1722" href="#1722">1722</a>         <strong class="jxr_keyword">boolean</strong> utf16 = decoder.charset().name().startsWith(<span class="jxr_string">"UTF-16"</span>);
<a class="jxr_linenumber" name="1723" href="#1723">1723</a> 
<a class="jxr_linenumber" name="1724" href="#1724">1724</a>         <strong class="jxr_keyword">if</strong> (utf16 &amp;&amp; (fieldSize &amp; 1) != 0) {
<a class="jxr_linenumber" name="1725" href="#1725">1725</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/buffer/BufferDataException.html">BufferDataException</a>(
<a class="jxr_linenumber" name="1726" href="#1726">1726</a>                     <span class="jxr_string">"fieldSize is not even for a UTF-16 string."</span>);
<a class="jxr_linenumber" name="1727" href="#1727">1727</a>         }
<a class="jxr_linenumber" name="1728" href="#1728">1728</a> 
<a class="jxr_linenumber" name="1729" href="#1729">1729</a>         <strong class="jxr_keyword">int</strong> oldLimit = limit();
<a class="jxr_linenumber" name="1730" href="#1730">1730</a>         <strong class="jxr_keyword">int</strong> end = position() + fieldSize;
<a class="jxr_linenumber" name="1731" href="#1731">1731</a> 
<a class="jxr_linenumber" name="1732" href="#1732">1732</a>         <strong class="jxr_keyword">if</strong> (oldLimit &lt; end) {
<a class="jxr_linenumber" name="1733" href="#1733">1733</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BufferUnderflowException();
<a class="jxr_linenumber" name="1734" href="#1734">1734</a>         }
<a class="jxr_linenumber" name="1735" href="#1735">1735</a> 
<a class="jxr_linenumber" name="1736" href="#1736">1736</a>         limit(end);
<a class="jxr_linenumber" name="1737" href="#1737">1737</a>         decoder.reset();
<a class="jxr_linenumber" name="1738" href="#1738">1738</a> 
<a class="jxr_linenumber" name="1739" href="#1739">1739</a>         <strong class="jxr_keyword">int</strong> expectedLength = (<strong class="jxr_keyword">int</strong>) (remaining() * decoder.averageCharsPerByte()) + 1;
<a class="jxr_linenumber" name="1740" href="#1740">1740</a>         CharBuffer out = CharBuffer.allocate(expectedLength);
<a class="jxr_linenumber" name="1741" href="#1741">1741</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1742" href="#1742">1742</a>             CoderResult cr;
<a class="jxr_linenumber" name="1743" href="#1743">1743</a>             <strong class="jxr_keyword">if</strong> (hasRemaining()) {
<a class="jxr_linenumber" name="1744" href="#1744">1744</a>                 cr = decoder.decode(buf(), out, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1745" href="#1745">1745</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1746" href="#1746">1746</a>                 cr = decoder.flush(out);
<a class="jxr_linenumber" name="1747" href="#1747">1747</a>             }
<a class="jxr_linenumber" name="1748" href="#1748">1748</a> 
<a class="jxr_linenumber" name="1749" href="#1749">1749</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow()) {
<a class="jxr_linenumber" name="1750" href="#1750">1750</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1751" href="#1751">1751</a>             }
<a class="jxr_linenumber" name="1752" href="#1752">1752</a> 
<a class="jxr_linenumber" name="1753" href="#1753">1753</a>             <strong class="jxr_keyword">if</strong> (cr.isOverflow()) {
<a class="jxr_linenumber" name="1754" href="#1754">1754</a>                 CharBuffer o = CharBuffer.allocate(out.capacity()
<a class="jxr_linenumber" name="1755" href="#1755">1755</a>                         + expectedLength);
<a class="jxr_linenumber" name="1756" href="#1756">1756</a>                 out.flip();
<a class="jxr_linenumber" name="1757" href="#1757">1757</a>                 o.put(out);
<a class="jxr_linenumber" name="1758" href="#1758">1758</a>                 out = o;
<a class="jxr_linenumber" name="1759" href="#1759">1759</a>                 <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1760" href="#1760">1760</a>             }
<a class="jxr_linenumber" name="1761" href="#1761">1761</a> 
<a class="jxr_linenumber" name="1762" href="#1762">1762</a>             cr.throwException();
<a class="jxr_linenumber" name="1763" href="#1763">1763</a>         }
<a class="jxr_linenumber" name="1764" href="#1764">1764</a> 
<a class="jxr_linenumber" name="1765" href="#1765">1765</a>         limit(oldLimit);
<a class="jxr_linenumber" name="1766" href="#1766">1766</a>         position(end);
<a class="jxr_linenumber" name="1767" href="#1767">1767</a>         <strong class="jxr_keyword">return</strong> out.flip().toString();
<a class="jxr_linenumber" name="1768" href="#1768">1768</a>     }
<a class="jxr_linenumber" name="1769" href="#1769">1769</a> 
<a class="jxr_linenumber" name="1770" href="#1770">1770</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1771" href="#1771">1771</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1772" href="#1772">1772</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1773" href="#1773">1773</a>     @Override
<a class="jxr_linenumber" name="1774" href="#1774">1774</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putPrefixedString(CharSequence in, CharsetEncoder encoder)
<a class="jxr_linenumber" name="1775" href="#1775">1775</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1776" href="#1776">1776</a>         <strong class="jxr_keyword">return</strong> putPrefixedString(in, 2, 0, encoder);
<a class="jxr_linenumber" name="1777" href="#1777">1777</a>     }
<a class="jxr_linenumber" name="1778" href="#1778">1778</a> 
<a class="jxr_linenumber" name="1779" href="#1779">1779</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1780" href="#1780">1780</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1781" href="#1781">1781</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1782" href="#1782">1782</a>     @Override
<a class="jxr_linenumber" name="1783" href="#1783">1783</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putPrefixedString(CharSequence in, <strong class="jxr_keyword">int</strong> prefixLength,
<a class="jxr_linenumber" name="1784" href="#1784">1784</a>             CharsetEncoder encoder) <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1785" href="#1785">1785</a>         <strong class="jxr_keyword">return</strong> putPrefixedString(in, prefixLength, 0, encoder);
<a class="jxr_linenumber" name="1786" href="#1786">1786</a>     }
<a class="jxr_linenumber" name="1787" href="#1787">1787</a> 
<a class="jxr_linenumber" name="1788" href="#1788">1788</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1789" href="#1789">1789</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1790" href="#1790">1790</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1791" href="#1791">1791</a>     @Override
<a class="jxr_linenumber" name="1792" href="#1792">1792</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putPrefixedString(CharSequence in, <strong class="jxr_keyword">int</strong> prefixLength,
<a class="jxr_linenumber" name="1793" href="#1793">1793</a>             <strong class="jxr_keyword">int</strong> padding, CharsetEncoder encoder)
<a class="jxr_linenumber" name="1794" href="#1794">1794</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1795" href="#1795">1795</a>         <strong class="jxr_keyword">return</strong> putPrefixedString(in, prefixLength, padding, (byte) 0, encoder);
<a class="jxr_linenumber" name="1796" href="#1796">1796</a>     }
<a class="jxr_linenumber" name="1797" href="#1797">1797</a> 
<a class="jxr_linenumber" name="1798" href="#1798">1798</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1799" href="#1799">1799</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1800" href="#1800">1800</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1801" href="#1801">1801</a>     @Override
<a class="jxr_linenumber" name="1802" href="#1802">1802</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putPrefixedString(CharSequence val, <strong class="jxr_keyword">int</strong> prefixLength,
<a class="jxr_linenumber" name="1803" href="#1803">1803</a>             <strong class="jxr_keyword">int</strong> padding, byte padValue, CharsetEncoder encoder)
<a class="jxr_linenumber" name="1804" href="#1804">1804</a>             <strong class="jxr_keyword">throws</strong> CharacterCodingException {
<a class="jxr_linenumber" name="1805" href="#1805">1805</a>         <strong class="jxr_keyword">int</strong> maxLength;
<a class="jxr_linenumber" name="1806" href="#1806">1806</a>         <strong class="jxr_keyword">switch</strong> (prefixLength) {
<a class="jxr_linenumber" name="1807" href="#1807">1807</a>         <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1808" href="#1808">1808</a>             maxLength = 255;
<a class="jxr_linenumber" name="1809" href="#1809">1809</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1810" href="#1810">1810</a>         <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="1811" href="#1811">1811</a>             maxLength = 65535;
<a class="jxr_linenumber" name="1812" href="#1812">1812</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1813" href="#1813">1813</a>         <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="1814" href="#1814">1814</a>             maxLength = Integer.MAX_VALUE;
<a class="jxr_linenumber" name="1815" href="#1815">1815</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1816" href="#1816">1816</a>         <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="1817" href="#1817">1817</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"prefixLength: "</span> + prefixLength);
<a class="jxr_linenumber" name="1818" href="#1818">1818</a>         }
<a class="jxr_linenumber" name="1819" href="#1819">1819</a> 
<a class="jxr_linenumber" name="1820" href="#1820">1820</a>         <strong class="jxr_keyword">if</strong> (val.length() &gt; maxLength) {
<a class="jxr_linenumber" name="1821" href="#1821">1821</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="1822" href="#1822">1822</a>                     <span class="jxr_string">"The specified string is too long."</span>);
<a class="jxr_linenumber" name="1823" href="#1823">1823</a>         }
<a class="jxr_linenumber" name="1824" href="#1824">1824</a>         <strong class="jxr_keyword">if</strong> (val.length() == 0) {
<a class="jxr_linenumber" name="1825" href="#1825">1825</a>             <strong class="jxr_keyword">switch</strong> (prefixLength) {
<a class="jxr_linenumber" name="1826" href="#1826">1826</a>             <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1827" href="#1827">1827</a>                 put((byte) 0);
<a class="jxr_linenumber" name="1828" href="#1828">1828</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1829" href="#1829">1829</a>             <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="1830" href="#1830">1830</a>                 putShort((<strong class="jxr_keyword">short</strong>) 0);
<a class="jxr_linenumber" name="1831" href="#1831">1831</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1832" href="#1832">1832</a>             <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="1833" href="#1833">1833</a>                 putInt(0);
<a class="jxr_linenumber" name="1834" href="#1834">1834</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1835" href="#1835">1835</a>             }
<a class="jxr_linenumber" name="1836" href="#1836">1836</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1837" href="#1837">1837</a>         }
<a class="jxr_linenumber" name="1838" href="#1838">1838</a> 
<a class="jxr_linenumber" name="1839" href="#1839">1839</a>         <strong class="jxr_keyword">int</strong> padMask;
<a class="jxr_linenumber" name="1840" href="#1840">1840</a>         <strong class="jxr_keyword">switch</strong> (padding) {
<a class="jxr_linenumber" name="1841" href="#1841">1841</a>         <strong class="jxr_keyword">case</strong> 0:
<a class="jxr_linenumber" name="1842" href="#1842">1842</a>         <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1843" href="#1843">1843</a>             padMask = 0;
<a class="jxr_linenumber" name="1844" href="#1844">1844</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1845" href="#1845">1845</a>         <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="1846" href="#1846">1846</a>             padMask = 1;
<a class="jxr_linenumber" name="1847" href="#1847">1847</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1848" href="#1848">1848</a>         <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="1849" href="#1849">1849</a>             padMask = 3;
<a class="jxr_linenumber" name="1850" href="#1850">1850</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1851" href="#1851">1851</a>         <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="1852" href="#1852">1852</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"padding: "</span> + padding);
<a class="jxr_linenumber" name="1853" href="#1853">1853</a>         }
<a class="jxr_linenumber" name="1854" href="#1854">1854</a> 
<a class="jxr_linenumber" name="1855" href="#1855">1855</a>         CharBuffer in = CharBuffer.wrap(val);
<a class="jxr_linenumber" name="1856" href="#1856">1856</a>         skip(prefixLength); <em class="jxr_comment">// make a room for the length field</em>
<a class="jxr_linenumber" name="1857" href="#1857">1857</a>         <strong class="jxr_keyword">int</strong> oldPos = position();
<a class="jxr_linenumber" name="1858" href="#1858">1858</a>         encoder.reset();
<a class="jxr_linenumber" name="1859" href="#1859">1859</a> 
<a class="jxr_linenumber" name="1860" href="#1860">1860</a>         <strong class="jxr_keyword">int</strong> expandedState = 0;
<a class="jxr_linenumber" name="1861" href="#1861">1861</a> 
<a class="jxr_linenumber" name="1862" href="#1862">1862</a>         <strong class="jxr_keyword">for</strong> (;;) {
<a class="jxr_linenumber" name="1863" href="#1863">1863</a>             CoderResult cr;
<a class="jxr_linenumber" name="1864" href="#1864">1864</a>             <strong class="jxr_keyword">if</strong> (in.hasRemaining()) {
<a class="jxr_linenumber" name="1865" href="#1865">1865</a>                 cr = encoder.encode(in, buf(), <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="1866" href="#1866">1866</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1867" href="#1867">1867</a>                 cr = encoder.flush(buf());
<a class="jxr_linenumber" name="1868" href="#1868">1868</a>             }
<a class="jxr_linenumber" name="1869" href="#1869">1869</a> 
<a class="jxr_linenumber" name="1870" href="#1870">1870</a>             <strong class="jxr_keyword">if</strong> (position() - oldPos &gt; maxLength) {
<a class="jxr_linenumber" name="1871" href="#1871">1871</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="1872" href="#1872">1872</a>                         <span class="jxr_string">"The specified string is too long."</span>);
<a class="jxr_linenumber" name="1873" href="#1873">1873</a>             }
<a class="jxr_linenumber" name="1874" href="#1874">1874</a> 
<a class="jxr_linenumber" name="1875" href="#1875">1875</a>             <strong class="jxr_keyword">if</strong> (cr.isUnderflow()) {
<a class="jxr_linenumber" name="1876" href="#1876">1876</a>                 <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1877" href="#1877">1877</a>             }
<a class="jxr_linenumber" name="1878" href="#1878">1878</a>             <strong class="jxr_keyword">if</strong> (cr.isOverflow()) {
<a class="jxr_linenumber" name="1879" href="#1879">1879</a>                 <strong class="jxr_keyword">if</strong> (isAutoExpand()) {
<a class="jxr_linenumber" name="1880" href="#1880">1880</a>                     <strong class="jxr_keyword">switch</strong> (expandedState) {
<a class="jxr_linenumber" name="1881" href="#1881">1881</a>                     <strong class="jxr_keyword">case</strong> 0:
<a class="jxr_linenumber" name="1882" href="#1882">1882</a>                         autoExpand((<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1883" href="#1883">1883</a>                                 * encoder.averageBytesPerChar()));
<a class="jxr_linenumber" name="1884" href="#1884">1884</a>                         expandedState++;
<a class="jxr_linenumber" name="1885" href="#1885">1885</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1886" href="#1886">1886</a>                     <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1887" href="#1887">1887</a>                         autoExpand((<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1888" href="#1888">1888</a>                                 * encoder.maxBytesPerChar()));
<a class="jxr_linenumber" name="1889" href="#1889">1889</a>                         expandedState++;
<a class="jxr_linenumber" name="1890" href="#1890">1890</a>                         <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1891" href="#1891">1891</a>                     <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="1892" href="#1892">1892</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(<span class="jxr_string">"Expanded by "</span>
<a class="jxr_linenumber" name="1893" href="#1893">1893</a>                                 + (<strong class="jxr_keyword">int</strong>) Math.ceil(in.remaining()
<a class="jxr_linenumber" name="1894" href="#1894">1894</a>                                         * encoder.maxBytesPerChar())
<a class="jxr_linenumber" name="1895" href="#1895">1895</a>                                 + <span class="jxr_string">" but that wasn't enough for '"</span> + val + <span class="jxr_string">"'"</span>);
<a class="jxr_linenumber" name="1896" href="#1896">1896</a>                     }
<a class="jxr_linenumber" name="1897" href="#1897">1897</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="1898" href="#1898">1898</a>                 }
<a class="jxr_linenumber" name="1899" href="#1899">1899</a>             } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="1900" href="#1900">1900</a>                 expandedState = 0;
<a class="jxr_linenumber" name="1901" href="#1901">1901</a>             }
<a class="jxr_linenumber" name="1902" href="#1902">1902</a>             cr.throwException();
<a class="jxr_linenumber" name="1903" href="#1903">1903</a>         }
<a class="jxr_linenumber" name="1904" href="#1904">1904</a> 
<a class="jxr_linenumber" name="1905" href="#1905">1905</a>         <em class="jxr_comment">// Write the length field</em>
<a class="jxr_linenumber" name="1906" href="#1906">1906</a>         fill(padValue, padding - (position() - oldPos &amp; padMask));
<a class="jxr_linenumber" name="1907" href="#1907">1907</a>         <strong class="jxr_keyword">int</strong> length = position() - oldPos;
<a class="jxr_linenumber" name="1908" href="#1908">1908</a>         <strong class="jxr_keyword">switch</strong> (prefixLength) {
<a class="jxr_linenumber" name="1909" href="#1909">1909</a>         <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="1910" href="#1910">1910</a>             put(oldPos - 1, (byte) length);
<a class="jxr_linenumber" name="1911" href="#1911">1911</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1912" href="#1912">1912</a>         <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="1913" href="#1913">1913</a>             putShort(oldPos - 2, (<strong class="jxr_keyword">short</strong>) length);
<a class="jxr_linenumber" name="1914" href="#1914">1914</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1915" href="#1915">1915</a>         <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="1916" href="#1916">1916</a>             putInt(oldPos - 4, length);
<a class="jxr_linenumber" name="1917" href="#1917">1917</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="1918" href="#1918">1918</a>         }
<a class="jxr_linenumber" name="1919" href="#1919">1919</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="1920" href="#1920">1920</a>     }
<a class="jxr_linenumber" name="1921" href="#1921">1921</a> 
<a class="jxr_linenumber" name="1922" href="#1922">1922</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1923" href="#1923">1923</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1924" href="#1924">1924</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1925" href="#1925">1925</a>     @Override
<a class="jxr_linenumber" name="1926" href="#1926">1926</a>     <strong class="jxr_keyword">public</strong> Object getObject() <strong class="jxr_keyword">throws</strong> ClassNotFoundException {
<a class="jxr_linenumber" name="1927" href="#1927">1927</a>         <strong class="jxr_keyword">return</strong> getObject(Thread.currentThread().getContextClassLoader());
<a class="jxr_linenumber" name="1928" href="#1928">1928</a>     }
<a class="jxr_linenumber" name="1929" href="#1929">1929</a> 
<a class="jxr_linenumber" name="1930" href="#1930">1930</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1931" href="#1931">1931</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1932" href="#1932">1932</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1933" href="#1933">1933</a>     @Override
<a class="jxr_linenumber" name="1934" href="#1934">1934</a>     <strong class="jxr_keyword">public</strong> Object getObject(<strong class="jxr_keyword">final</strong> ClassLoader classLoader)
<a class="jxr_linenumber" name="1935" href="#1935">1935</a>             <strong class="jxr_keyword">throws</strong> ClassNotFoundException {
<a class="jxr_linenumber" name="1936" href="#1936">1936</a>         <strong class="jxr_keyword">if</strong> (!prefixedDataAvailable(4)) {
<a class="jxr_linenumber" name="1937" href="#1937">1937</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> BufferUnderflowException();
<a class="jxr_linenumber" name="1938" href="#1938">1938</a>         }
<a class="jxr_linenumber" name="1939" href="#1939">1939</a> 
<a class="jxr_linenumber" name="1940" href="#1940">1940</a>         <strong class="jxr_keyword">int</strong> length = getInt();
<a class="jxr_linenumber" name="1941" href="#1941">1941</a>         <strong class="jxr_keyword">if</strong> (length &lt;= 4) {
<a class="jxr_linenumber" name="1942" href="#1942">1942</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/buffer/BufferDataException.html">BufferDataException</a>(
<a class="jxr_linenumber" name="1943" href="#1943">1943</a>                     <span class="jxr_string">"Object length should be greater than 4: "</span> + length);
<a class="jxr_linenumber" name="1944" href="#1944">1944</a>         }
<a class="jxr_linenumber" name="1945" href="#1945">1945</a> 
<a class="jxr_linenumber" name="1946" href="#1946">1946</a>         <strong class="jxr_keyword">int</strong> oldLimit = limit();
<a class="jxr_linenumber" name="1947" href="#1947">1947</a>         limit(position() + length);
<a class="jxr_linenumber" name="1948" href="#1948">1948</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1949" href="#1949">1949</a>             ObjectInputStream in = <strong class="jxr_keyword">new</strong> ObjectInputStream(asInputStream()) {
<a class="jxr_linenumber" name="1950" href="#1950">1950</a>                 @Override
<a class="jxr_linenumber" name="1951" href="#1951">1951</a>                 <strong class="jxr_keyword">protected</strong> ObjectStreamClass readClassDescriptor()
<a class="jxr_linenumber" name="1952" href="#1952">1952</a>                         <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException {
<a class="jxr_linenumber" name="1953" href="#1953">1953</a>                     <strong class="jxr_keyword">int</strong> type = read();
<a class="jxr_linenumber" name="1954" href="#1954">1954</a>                     <strong class="jxr_keyword">if</strong> (type &lt; 0) {
<a class="jxr_linenumber" name="1955" href="#1955">1955</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> EOFException();
<a class="jxr_linenumber" name="1956" href="#1956">1956</a>                     }
<a class="jxr_linenumber" name="1957" href="#1957">1957</a>                     <strong class="jxr_keyword">switch</strong> (type) {
<a class="jxr_linenumber" name="1958" href="#1958">1958</a>                     <strong class="jxr_keyword">case</strong> 0: <em class="jxr_comment">// Primitive types</em>
<a class="jxr_linenumber" name="1959" href="#1959">1959</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.readClassDescriptor();
<a class="jxr_linenumber" name="1960" href="#1960">1960</a>                     <strong class="jxr_keyword">case</strong> 1: <em class="jxr_comment">// Non-primitive types</em>
<a class="jxr_linenumber" name="1961" href="#1961">1961</a>                         String className = readUTF();
<a class="jxr_linenumber" name="1962" href="#1962">1962</a>                         Class&lt;?&gt; clazz = Class.forName(className, <strong class="jxr_keyword">true</strong>,
<a class="jxr_linenumber" name="1963" href="#1963">1963</a>                                 classLoader);
<a class="jxr_linenumber" name="1964" href="#1964">1964</a>                         <strong class="jxr_keyword">return</strong> ObjectStreamClass.lookup(clazz);
<a class="jxr_linenumber" name="1965" href="#1965">1965</a>                     <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="1966" href="#1966">1966</a>                         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> StreamCorruptedException(
<a class="jxr_linenumber" name="1967" href="#1967">1967</a>                                 <span class="jxr_string">"Unexpected class descriptor type: "</span> + type);
<a class="jxr_linenumber" name="1968" href="#1968">1968</a>                     }
<a class="jxr_linenumber" name="1969" href="#1969">1969</a>                 }
<a class="jxr_linenumber" name="1970" href="#1970">1970</a> 
<a class="jxr_linenumber" name="1971" href="#1971">1971</a>                 @Override
<a class="jxr_linenumber" name="1972" href="#1972">1972</a>                 <strong class="jxr_keyword">protected</strong> Class&lt;?&gt; resolveClass(ObjectStreamClass desc)
<a class="jxr_linenumber" name="1973" href="#1973">1973</a>                         <strong class="jxr_keyword">throws</strong> IOException, ClassNotFoundException {
<a class="jxr_linenumber" name="1974" href="#1974">1974</a>                     String name = desc.getName();
<a class="jxr_linenumber" name="1975" href="#1975">1975</a>                     <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1976" href="#1976">1976</a>                         <strong class="jxr_keyword">return</strong> Class.forName(name, false, classLoader);
<a class="jxr_linenumber" name="1977" href="#1977">1977</a>                     } <strong class="jxr_keyword">catch</strong> (ClassNotFoundException ex) {
<a class="jxr_linenumber" name="1978" href="#1978">1978</a>                         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">super</strong>.resolveClass(desc);
<a class="jxr_linenumber" name="1979" href="#1979">1979</a>                     }
<a class="jxr_linenumber" name="1980" href="#1980">1980</a>                 }
<a class="jxr_linenumber" name="1981" href="#1981">1981</a>             };
<a class="jxr_linenumber" name="1982" href="#1982">1982</a>             <strong class="jxr_keyword">return</strong> in.readObject();
<a class="jxr_linenumber" name="1983" href="#1983">1983</a>         } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a class="jxr_linenumber" name="1984" href="#1984">1984</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/buffer/BufferDataException.html">BufferDataException</a>(e);
<a class="jxr_linenumber" name="1985" href="#1985">1985</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="1986" href="#1986">1986</a>             limit(oldLimit);
<a class="jxr_linenumber" name="1987" href="#1987">1987</a>         }
<a class="jxr_linenumber" name="1988" href="#1988">1988</a>     }
<a class="jxr_linenumber" name="1989" href="#1989">1989</a> 
<a class="jxr_linenumber" name="1990" href="#1990">1990</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="1991" href="#1991">1991</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="1992" href="#1992">1992</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="1993" href="#1993">1993</a>     @Override
<a class="jxr_linenumber" name="1994" href="#1994">1994</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putObject(Object o) {
<a class="jxr_linenumber" name="1995" href="#1995">1995</a>         <strong class="jxr_keyword">int</strong> oldPos = position();
<a class="jxr_linenumber" name="1996" href="#1996">1996</a>         skip(4); <em class="jxr_comment">// Make a room for the length field.</em>
<a class="jxr_linenumber" name="1997" href="#1997">1997</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="1998" href="#1998">1998</a>             ObjectOutputStream out = <strong class="jxr_keyword">new</strong> ObjectOutputStream(asOutputStream()) {
<a class="jxr_linenumber" name="1999" href="#1999">1999</a>                 @Override
<a class="jxr_linenumber" name="2000" href="#2000">2000</a>                 <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> writeClassDescriptor(ObjectStreamClass desc)
<a class="jxr_linenumber" name="2001" href="#2001">2001</a>                         <strong class="jxr_keyword">throws</strong> IOException {
<a class="jxr_linenumber" name="2002" href="#2002">2002</a>                     <strong class="jxr_keyword">if</strong> (desc.forClass().isPrimitive()) {
<a class="jxr_linenumber" name="2003" href="#2003">2003</a>                         write(0);
<a class="jxr_linenumber" name="2004" href="#2004">2004</a>                         <strong class="jxr_keyword">super</strong>.writeClassDescriptor(desc);
<a class="jxr_linenumber" name="2005" href="#2005">2005</a>                     } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="2006" href="#2006">2006</a>                         write(1);
<a class="jxr_linenumber" name="2007" href="#2007">2007</a>                         writeUTF(desc.getName());
<a class="jxr_linenumber" name="2008" href="#2008">2008</a>                     }
<a class="jxr_linenumber" name="2009" href="#2009">2009</a>                 }
<a class="jxr_linenumber" name="2010" href="#2010">2010</a>             };
<a class="jxr_linenumber" name="2011" href="#2011">2011</a>             out.writeObject(o);
<a class="jxr_linenumber" name="2012" href="#2012">2012</a>             out.flush();
<a class="jxr_linenumber" name="2013" href="#2013">2013</a>         } <strong class="jxr_keyword">catch</strong> (IOException e) {
<a class="jxr_linenumber" name="2014" href="#2014">2014</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/buffer/BufferDataException.html">BufferDataException</a>(e);
<a class="jxr_linenumber" name="2015" href="#2015">2015</a>         }
<a class="jxr_linenumber" name="2016" href="#2016">2016</a> 
<a class="jxr_linenumber" name="2017" href="#2017">2017</a>         <em class="jxr_comment">// Fill the length field</em>
<a class="jxr_linenumber" name="2018" href="#2018">2018</a>         <strong class="jxr_keyword">int</strong> newPos = position();
<a class="jxr_linenumber" name="2019" href="#2019">2019</a>         position(oldPos);
<a class="jxr_linenumber" name="2020" href="#2020">2020</a>         putInt(newPos - oldPos - 4);
<a class="jxr_linenumber" name="2021" href="#2021">2021</a>         position(newPos);
<a class="jxr_linenumber" name="2022" href="#2022">2022</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2023" href="#2023">2023</a>     }
<a class="jxr_linenumber" name="2024" href="#2024">2024</a> 
<a class="jxr_linenumber" name="2025" href="#2025">2025</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2026" href="#2026">2026</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2027" href="#2027">2027</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2028" href="#2028">2028</a>     @Override
<a class="jxr_linenumber" name="2029" href="#2029">2029</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> prefixedDataAvailable(<strong class="jxr_keyword">int</strong> prefixLength) {
<a class="jxr_linenumber" name="2030" href="#2030">2030</a>         <strong class="jxr_keyword">return</strong> prefixedDataAvailable(prefixLength, Integer.MAX_VALUE);
<a class="jxr_linenumber" name="2031" href="#2031">2031</a>     }
<a class="jxr_linenumber" name="2032" href="#2032">2032</a> 
<a class="jxr_linenumber" name="2033" href="#2033">2033</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2034" href="#2034">2034</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2035" href="#2035">2035</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2036" href="#2036">2036</a>     @Override
<a class="jxr_linenumber" name="2037" href="#2037">2037</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> prefixedDataAvailable(<strong class="jxr_keyword">int</strong> prefixLength, <strong class="jxr_keyword">int</strong> maxDataLength) {
<a class="jxr_linenumber" name="2038" href="#2038">2038</a>         <strong class="jxr_keyword">if</strong> (remaining() &lt; prefixLength) {
<a class="jxr_linenumber" name="2039" href="#2039">2039</a>             <strong class="jxr_keyword">return</strong> false;
<a class="jxr_linenumber" name="2040" href="#2040">2040</a>         }
<a class="jxr_linenumber" name="2041" href="#2041">2041</a> 
<a class="jxr_linenumber" name="2042" href="#2042">2042</a>         <strong class="jxr_keyword">int</strong> dataLength;
<a class="jxr_linenumber" name="2043" href="#2043">2043</a>         <strong class="jxr_keyword">switch</strong> (prefixLength) {
<a class="jxr_linenumber" name="2044" href="#2044">2044</a>         <strong class="jxr_keyword">case</strong> 1:
<a class="jxr_linenumber" name="2045" href="#2045">2045</a>             dataLength = getUnsigned(position());
<a class="jxr_linenumber" name="2046" href="#2046">2046</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="2047" href="#2047">2047</a>         <strong class="jxr_keyword">case</strong> 2:
<a class="jxr_linenumber" name="2048" href="#2048">2048</a>             dataLength = getUnsignedShort(position());
<a class="jxr_linenumber" name="2049" href="#2049">2049</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="2050" href="#2050">2050</a>         <strong class="jxr_keyword">case</strong> 4:
<a class="jxr_linenumber" name="2051" href="#2051">2051</a>             dataLength = getInt(position());
<a class="jxr_linenumber" name="2052" href="#2052">2052</a>             <strong class="jxr_keyword">break</strong>;
<a class="jxr_linenumber" name="2053" href="#2053">2053</a>         <strong class="jxr_keyword">default</strong>:
<a class="jxr_linenumber" name="2054" href="#2054">2054</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"prefixLength: "</span> + prefixLength);
<a class="jxr_linenumber" name="2055" href="#2055">2055</a>         }
<a class="jxr_linenumber" name="2056" href="#2056">2056</a> 
<a class="jxr_linenumber" name="2057" href="#2057">2057</a>         <strong class="jxr_keyword">if</strong> (dataLength &lt; 0 || dataLength &gt; maxDataLength) {
<a class="jxr_linenumber" name="2058" href="#2058">2058</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/core/buffer/BufferDataException.html">BufferDataException</a>(<span class="jxr_string">"dataLength: "</span> + dataLength);
<a class="jxr_linenumber" name="2059" href="#2059">2059</a>         }
<a class="jxr_linenumber" name="2060" href="#2060">2060</a> 
<a class="jxr_linenumber" name="2061" href="#2061">2061</a>         <strong class="jxr_keyword">return</strong> remaining() - prefixLength &gt;= dataLength;
<a class="jxr_linenumber" name="2062" href="#2062">2062</a>     }
<a class="jxr_linenumber" name="2063" href="#2063">2063</a> 
<a class="jxr_linenumber" name="2064" href="#2064">2064</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2065" href="#2065">2065</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2066" href="#2066">2066</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2067" href="#2067">2067</a>     @Override
<a class="jxr_linenumber" name="2068" href="#2068">2068</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> indexOf(byte b) {
<a class="jxr_linenumber" name="2069" href="#2069">2069</a>         <strong class="jxr_keyword">if</strong> (hasArray()) {
<a class="jxr_linenumber" name="2070" href="#2070">2070</a>             <strong class="jxr_keyword">int</strong> arrayOffset = arrayOffset();
<a class="jxr_linenumber" name="2071" href="#2071">2071</a>             <strong class="jxr_keyword">int</strong> beginPos = arrayOffset + position();
<a class="jxr_linenumber" name="2072" href="#2072">2072</a>             <strong class="jxr_keyword">int</strong> limit = arrayOffset + limit();
<a class="jxr_linenumber" name="2073" href="#2073">2073</a>             byte[] array = array();
<a class="jxr_linenumber" name="2074" href="#2074">2074</a> 
<a class="jxr_linenumber" name="2075" href="#2075">2075</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = beginPos; i &lt; limit; i++) {
<a class="jxr_linenumber" name="2076" href="#2076">2076</a>                 <strong class="jxr_keyword">if</strong> (array[i] == b) {
<a class="jxr_linenumber" name="2077" href="#2077">2077</a>                     <strong class="jxr_keyword">return</strong> i - arrayOffset;
<a class="jxr_linenumber" name="2078" href="#2078">2078</a>                 }
<a class="jxr_linenumber" name="2079" href="#2079">2079</a>             }
<a class="jxr_linenumber" name="2080" href="#2080">2080</a>         } <strong class="jxr_keyword">else</strong> {
<a class="jxr_linenumber" name="2081" href="#2081">2081</a>             <strong class="jxr_keyword">int</strong> beginPos = position();
<a class="jxr_linenumber" name="2082" href="#2082">2082</a>             <strong class="jxr_keyword">int</strong> limit = limit();
<a class="jxr_linenumber" name="2083" href="#2083">2083</a> 
<a class="jxr_linenumber" name="2084" href="#2084">2084</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = beginPos; i &lt; limit; i++) {
<a class="jxr_linenumber" name="2085" href="#2085">2085</a>                 <strong class="jxr_keyword">if</strong> (get(i) == b) {
<a class="jxr_linenumber" name="2086" href="#2086">2086</a>                     <strong class="jxr_keyword">return</strong> i;
<a class="jxr_linenumber" name="2087" href="#2087">2087</a>                 }
<a class="jxr_linenumber" name="2088" href="#2088">2088</a>             }
<a class="jxr_linenumber" name="2089" href="#2089">2089</a>         }
<a class="jxr_linenumber" name="2090" href="#2090">2090</a> 
<a class="jxr_linenumber" name="2091" href="#2091">2091</a>         <strong class="jxr_keyword">return</strong> -1;
<a class="jxr_linenumber" name="2092" href="#2092">2092</a>     }
<a class="jxr_linenumber" name="2093" href="#2093">2093</a> 
<a class="jxr_linenumber" name="2094" href="#2094">2094</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2095" href="#2095">2095</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2096" href="#2096">2096</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2097" href="#2097">2097</a>     @Override
<a class="jxr_linenumber" name="2098" href="#2098">2098</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> skip(<strong class="jxr_keyword">int</strong> size) {
<a class="jxr_linenumber" name="2099" href="#2099">2099</a>         autoExpand(size);
<a class="jxr_linenumber" name="2100" href="#2100">2100</a>         <strong class="jxr_keyword">return</strong> position(position() + size);
<a class="jxr_linenumber" name="2101" href="#2101">2101</a>     }
<a class="jxr_linenumber" name="2102" href="#2102">2102</a> 
<a class="jxr_linenumber" name="2103" href="#2103">2103</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2104" href="#2104">2104</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2105" href="#2105">2105</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2106" href="#2106">2106</a>     @Override
<a class="jxr_linenumber" name="2107" href="#2107">2107</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> fill(byte value, <strong class="jxr_keyword">int</strong> size) {
<a class="jxr_linenumber" name="2108" href="#2108">2108</a>         autoExpand(size);
<a class="jxr_linenumber" name="2109" href="#2109">2109</a>         <strong class="jxr_keyword">int</strong> q = size &gt;&gt;&gt; 3;
<a class="jxr_linenumber" name="2110" href="#2110">2110</a>         <strong class="jxr_keyword">int</strong> r = size &amp; 7;
<a class="jxr_linenumber" name="2111" href="#2111">2111</a> 
<a class="jxr_linenumber" name="2112" href="#2112">2112</a>         <strong class="jxr_keyword">if</strong> (q &gt; 0) {
<a class="jxr_linenumber" name="2113" href="#2113">2113</a>             <strong class="jxr_keyword">int</strong> intValue = value | value &lt;&lt; 8 | value &lt;&lt; 16 | value &lt;&lt; 24;
<a class="jxr_linenumber" name="2114" href="#2114">2114</a>             <strong class="jxr_keyword">long</strong> longValue = intValue;
<a class="jxr_linenumber" name="2115" href="#2115">2115</a>             longValue &lt;&lt;= 32;
<a class="jxr_linenumber" name="2116" href="#2116">2116</a>             longValue |= intValue;
<a class="jxr_linenumber" name="2117" href="#2117">2117</a> 
<a class="jxr_linenumber" name="2118" href="#2118">2118</a>             <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = q; i &gt; 0; i--) {
<a class="jxr_linenumber" name="2119" href="#2119">2119</a>                 putLong(longValue);
<a class="jxr_linenumber" name="2120" href="#2120">2120</a>             }
<a class="jxr_linenumber" name="2121" href="#2121">2121</a>         }
<a class="jxr_linenumber" name="2122" href="#2122">2122</a> 
<a class="jxr_linenumber" name="2123" href="#2123">2123</a>         q = r &gt;&gt;&gt; 2;
<a class="jxr_linenumber" name="2124" href="#2124">2124</a>         r = r &amp; 3;
<a class="jxr_linenumber" name="2125" href="#2125">2125</a> 
<a class="jxr_linenumber" name="2126" href="#2126">2126</a>         <strong class="jxr_keyword">if</strong> (q &gt; 0) {
<a class="jxr_linenumber" name="2127" href="#2127">2127</a>             <strong class="jxr_keyword">int</strong> intValue = value | value &lt;&lt; 8 | value &lt;&lt; 16 | value &lt;&lt; 24;
<a class="jxr_linenumber" name="2128" href="#2128">2128</a>             putInt(intValue);
<a class="jxr_linenumber" name="2129" href="#2129">2129</a>         }
<a class="jxr_linenumber" name="2130" href="#2130">2130</a> 
<a class="jxr_linenumber" name="2131" href="#2131">2131</a>         q = r &gt;&gt; 1;
<a class="jxr_linenumber" name="2132" href="#2132">2132</a>         r = r &amp; 1;
<a class="jxr_linenumber" name="2133" href="#2133">2133</a> 
<a class="jxr_linenumber" name="2134" href="#2134">2134</a>         <strong class="jxr_keyword">if</strong> (q &gt; 0) {
<a class="jxr_linenumber" name="2135" href="#2135">2135</a>             <strong class="jxr_keyword">short</strong> shortValue = (<strong class="jxr_keyword">short</strong>) (value | value &lt;&lt; 8);
<a class="jxr_linenumber" name="2136" href="#2136">2136</a>             putShort(shortValue);
<a class="jxr_linenumber" name="2137" href="#2137">2137</a>         }
<a class="jxr_linenumber" name="2138" href="#2138">2138</a> 
<a class="jxr_linenumber" name="2139" href="#2139">2139</a>         <strong class="jxr_keyword">if</strong> (r &gt; 0) {
<a class="jxr_linenumber" name="2140" href="#2140">2140</a>             put(value);
<a class="jxr_linenumber" name="2141" href="#2141">2141</a>         }
<a class="jxr_linenumber" name="2142" href="#2142">2142</a> 
<a class="jxr_linenumber" name="2143" href="#2143">2143</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2144" href="#2144">2144</a>     }
<a class="jxr_linenumber" name="2145" href="#2145">2145</a> 
<a class="jxr_linenumber" name="2146" href="#2146">2146</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2147" href="#2147">2147</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2148" href="#2148">2148</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2149" href="#2149">2149</a>     @Override
<a class="jxr_linenumber" name="2150" href="#2150">2150</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> fillAndReset(byte value, <strong class="jxr_keyword">int</strong> size) {
<a class="jxr_linenumber" name="2151" href="#2151">2151</a>         autoExpand(size);
<a class="jxr_linenumber" name="2152" href="#2152">2152</a>         <strong class="jxr_keyword">int</strong> pos = position();
<a class="jxr_linenumber" name="2153" href="#2153">2153</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2154" href="#2154">2154</a>             fill(value, size);
<a class="jxr_linenumber" name="2155" href="#2155">2155</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="2156" href="#2156">2156</a>             position(pos);
<a class="jxr_linenumber" name="2157" href="#2157">2157</a>         }
<a class="jxr_linenumber" name="2158" href="#2158">2158</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2159" href="#2159">2159</a>     }
<a class="jxr_linenumber" name="2160" href="#2160">2160</a> 
<a class="jxr_linenumber" name="2161" href="#2161">2161</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2162" href="#2162">2162</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2163" href="#2163">2163</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2164" href="#2164">2164</a>     @Override
<a class="jxr_linenumber" name="2165" href="#2165">2165</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> fill(<strong class="jxr_keyword">int</strong> size) {
<a class="jxr_linenumber" name="2166" href="#2166">2166</a>         autoExpand(size);
<a class="jxr_linenumber" name="2167" href="#2167">2167</a>         <strong class="jxr_keyword">int</strong> q = size &gt;&gt;&gt; 3;
<a class="jxr_linenumber" name="2168" href="#2168">2168</a>         <strong class="jxr_keyword">int</strong> r = size &amp; 7;
<a class="jxr_linenumber" name="2169" href="#2169">2169</a> 
<a class="jxr_linenumber" name="2170" href="#2170">2170</a>         <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = q; i &gt; 0; i--) {
<a class="jxr_linenumber" name="2171" href="#2171">2171</a>             putLong(0L);
<a class="jxr_linenumber" name="2172" href="#2172">2172</a>         }
<a class="jxr_linenumber" name="2173" href="#2173">2173</a> 
<a class="jxr_linenumber" name="2174" href="#2174">2174</a>         q = r &gt;&gt;&gt; 2;
<a class="jxr_linenumber" name="2175" href="#2175">2175</a>         r = r &amp; 3;
<a class="jxr_linenumber" name="2176" href="#2176">2176</a> 
<a class="jxr_linenumber" name="2177" href="#2177">2177</a>         <strong class="jxr_keyword">if</strong> (q &gt; 0) {
<a class="jxr_linenumber" name="2178" href="#2178">2178</a>             putInt(0);
<a class="jxr_linenumber" name="2179" href="#2179">2179</a>         }
<a class="jxr_linenumber" name="2180" href="#2180">2180</a> 
<a class="jxr_linenumber" name="2181" href="#2181">2181</a>         q = r &gt;&gt; 1;
<a class="jxr_linenumber" name="2182" href="#2182">2182</a>         r = r &amp; 1;
<a class="jxr_linenumber" name="2183" href="#2183">2183</a> 
<a class="jxr_linenumber" name="2184" href="#2184">2184</a>         <strong class="jxr_keyword">if</strong> (q &gt; 0) {
<a class="jxr_linenumber" name="2185" href="#2185">2185</a>             putShort((<strong class="jxr_keyword">short</strong>) 0);
<a class="jxr_linenumber" name="2186" href="#2186">2186</a>         }
<a class="jxr_linenumber" name="2187" href="#2187">2187</a> 
<a class="jxr_linenumber" name="2188" href="#2188">2188</a>         <strong class="jxr_keyword">if</strong> (r &gt; 0) {
<a class="jxr_linenumber" name="2189" href="#2189">2189</a>             put((byte) 0);
<a class="jxr_linenumber" name="2190" href="#2190">2190</a>         }
<a class="jxr_linenumber" name="2191" href="#2191">2191</a> 
<a class="jxr_linenumber" name="2192" href="#2192">2192</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2193" href="#2193">2193</a>     }
<a class="jxr_linenumber" name="2194" href="#2194">2194</a> 
<a class="jxr_linenumber" name="2195" href="#2195">2195</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2196" href="#2196">2196</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2197" href="#2197">2197</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2198" href="#2198">2198</a>     @Override
<a class="jxr_linenumber" name="2199" href="#2199">2199</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> fillAndReset(<strong class="jxr_keyword">int</strong> size) {
<a class="jxr_linenumber" name="2200" href="#2200">2200</a>         autoExpand(size);
<a class="jxr_linenumber" name="2201" href="#2201">2201</a>         <strong class="jxr_keyword">int</strong> pos = position();
<a class="jxr_linenumber" name="2202" href="#2202">2202</a>         <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="2203" href="#2203">2203</a>             fill(size);
<a class="jxr_linenumber" name="2204" href="#2204">2204</a>         } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="2205" href="#2205">2205</a>             position(pos);
<a class="jxr_linenumber" name="2206" href="#2206">2206</a>         }
<a class="jxr_linenumber" name="2207" href="#2207">2207</a> 
<a class="jxr_linenumber" name="2208" href="#2208">2208</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2209" href="#2209">2209</a>     }
<a class="jxr_linenumber" name="2210" href="#2210">2210</a> 
<a class="jxr_linenumber" name="2211" href="#2211">2211</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2212" href="#2212">2212</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2213" href="#2213">2213</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2214" href="#2214">2214</a>     @Override
<a class="jxr_linenumber" name="2215" href="#2215">2215</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnum(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2216" href="#2216">2216</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getUnsigned());
<a class="jxr_linenumber" name="2217" href="#2217">2217</a>     }
<a class="jxr_linenumber" name="2218" href="#2218">2218</a> 
<a class="jxr_linenumber" name="2219" href="#2219">2219</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2220" href="#2220">2220</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2221" href="#2221">2221</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2222" href="#2222">2222</a>     @Override
<a class="jxr_linenumber" name="2223" href="#2223">2223</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnum(<strong class="jxr_keyword">int</strong> index, Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2224" href="#2224">2224</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getUnsigned(index));
<a class="jxr_linenumber" name="2225" href="#2225">2225</a>     }
<a class="jxr_linenumber" name="2226" href="#2226">2226</a> 
<a class="jxr_linenumber" name="2227" href="#2227">2227</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2228" href="#2228">2228</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2229" href="#2229">2229</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2230" href="#2230">2230</a>     @Override
<a class="jxr_linenumber" name="2231" href="#2231">2231</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnumShort(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2232" href="#2232">2232</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getUnsignedShort());
<a class="jxr_linenumber" name="2233" href="#2233">2233</a>     }
<a class="jxr_linenumber" name="2234" href="#2234">2234</a> 
<a class="jxr_linenumber" name="2235" href="#2235">2235</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2236" href="#2236">2236</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2237" href="#2237">2237</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2238" href="#2238">2238</a>     @Override
<a class="jxr_linenumber" name="2239" href="#2239">2239</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnumShort(<strong class="jxr_keyword">int</strong> index, Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2240" href="#2240">2240</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getUnsignedShort(index));
<a class="jxr_linenumber" name="2241" href="#2241">2241</a>     }
<a class="jxr_linenumber" name="2242" href="#2242">2242</a> 
<a class="jxr_linenumber" name="2243" href="#2243">2243</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2244" href="#2244">2244</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2245" href="#2245">2245</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2246" href="#2246">2246</a>     @Override
<a class="jxr_linenumber" name="2247" href="#2247">2247</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnumInt(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2248" href="#2248">2248</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getInt());
<a class="jxr_linenumber" name="2249" href="#2249">2249</a>     }
<a class="jxr_linenumber" name="2250" href="#2250">2250</a> 
<a class="jxr_linenumber" name="2251" href="#2251">2251</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2252" href="#2252">2252</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2253" href="#2253">2253</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2254" href="#2254">2254</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; E getEnumInt(<strong class="jxr_keyword">int</strong> index, Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2255" href="#2255">2255</a>         <strong class="jxr_keyword">return</strong> toEnum(enumClass, getInt(index));
<a class="jxr_linenumber" name="2256" href="#2256">2256</a>     }
<a class="jxr_linenumber" name="2257" href="#2257">2257</a> 
<a class="jxr_linenumber" name="2258" href="#2258">2258</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2259" href="#2259">2259</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2260" href="#2260">2260</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2261" href="#2261">2261</a>     @Override
<a class="jxr_linenumber" name="2262" href="#2262">2262</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnum(Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2263" href="#2263">2263</a>         <strong class="jxr_keyword">if</strong> (e.ordinal() &gt; BYTE_MASK) {
<a class="jxr_linenumber" name="2264" href="#2264">2264</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(enumConversionErrorMessage(e,
<a class="jxr_linenumber" name="2265" href="#2265">2265</a>                     <span class="jxr_string">"byte"</span>));
<a class="jxr_linenumber" name="2266" href="#2266">2266</a>         }
<a class="jxr_linenumber" name="2267" href="#2267">2267</a>         <strong class="jxr_keyword">return</strong> put((byte) e.ordinal());
<a class="jxr_linenumber" name="2268" href="#2268">2268</a>     }
<a class="jxr_linenumber" name="2269" href="#2269">2269</a> 
<a class="jxr_linenumber" name="2270" href="#2270">2270</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2271" href="#2271">2271</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2272" href="#2272">2272</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2273" href="#2273">2273</a>     @Override
<a class="jxr_linenumber" name="2274" href="#2274">2274</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnum(<strong class="jxr_keyword">int</strong> index, Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2275" href="#2275">2275</a>         <strong class="jxr_keyword">if</strong> (e.ordinal() &gt; BYTE_MASK) {
<a class="jxr_linenumber" name="2276" href="#2276">2276</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(enumConversionErrorMessage(e,
<a class="jxr_linenumber" name="2277" href="#2277">2277</a>                     <span class="jxr_string">"byte"</span>));
<a class="jxr_linenumber" name="2278" href="#2278">2278</a>         }
<a class="jxr_linenumber" name="2279" href="#2279">2279</a>         <strong class="jxr_keyword">return</strong> put(index, (byte) e.ordinal());
<a class="jxr_linenumber" name="2280" href="#2280">2280</a>     }
<a class="jxr_linenumber" name="2281" href="#2281">2281</a> 
<a class="jxr_linenumber" name="2282" href="#2282">2282</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2283" href="#2283">2283</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2284" href="#2284">2284</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2285" href="#2285">2285</a>     @Override
<a class="jxr_linenumber" name="2286" href="#2286">2286</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumShort(Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2287" href="#2287">2287</a>         <strong class="jxr_keyword">if</strong> (e.ordinal() &gt; SHORT_MASK) {
<a class="jxr_linenumber" name="2288" href="#2288">2288</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(enumConversionErrorMessage(e,
<a class="jxr_linenumber" name="2289" href="#2289">2289</a>                     <span class="jxr_string">"short"</span>));
<a class="jxr_linenumber" name="2290" href="#2290">2290</a>         }
<a class="jxr_linenumber" name="2291" href="#2291">2291</a>         <strong class="jxr_keyword">return</strong> putShort((<strong class="jxr_keyword">short</strong>) e.ordinal());
<a class="jxr_linenumber" name="2292" href="#2292">2292</a>     }
<a class="jxr_linenumber" name="2293" href="#2293">2293</a> 
<a class="jxr_linenumber" name="2294" href="#2294">2294</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2295" href="#2295">2295</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2296" href="#2296">2296</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2297" href="#2297">2297</a>     @Override
<a class="jxr_linenumber" name="2298" href="#2298">2298</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumShort(<strong class="jxr_keyword">int</strong> index, Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2299" href="#2299">2299</a>         <strong class="jxr_keyword">if</strong> (e.ordinal() &gt; SHORT_MASK) {
<a class="jxr_linenumber" name="2300" href="#2300">2300</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(enumConversionErrorMessage(e,
<a class="jxr_linenumber" name="2301" href="#2301">2301</a>                     <span class="jxr_string">"short"</span>));
<a class="jxr_linenumber" name="2302" href="#2302">2302</a>         }
<a class="jxr_linenumber" name="2303" href="#2303">2303</a>         <strong class="jxr_keyword">return</strong> putShort(index, (<strong class="jxr_keyword">short</strong>) e.ordinal());
<a class="jxr_linenumber" name="2304" href="#2304">2304</a>     }
<a class="jxr_linenumber" name="2305" href="#2305">2305</a> 
<a class="jxr_linenumber" name="2306" href="#2306">2306</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2307" href="#2307">2307</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2308" href="#2308">2308</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2309" href="#2309">2309</a>     @Override
<a class="jxr_linenumber" name="2310" href="#2310">2310</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumInt(Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2311" href="#2311">2311</a>         <strong class="jxr_keyword">return</strong> putInt(e.ordinal());
<a class="jxr_linenumber" name="2312" href="#2312">2312</a>     }
<a class="jxr_linenumber" name="2313" href="#2313">2313</a> 
<a class="jxr_linenumber" name="2314" href="#2314">2314</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2315" href="#2315">2315</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2316" href="#2316">2316</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2317" href="#2317">2317</a>     @Override
<a class="jxr_linenumber" name="2318" href="#2318">2318</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumInt(<strong class="jxr_keyword">int</strong> index, Enum&lt;?&gt; e) {
<a class="jxr_linenumber" name="2319" href="#2319">2319</a>         <strong class="jxr_keyword">return</strong> putInt(index, e.ordinal());
<a class="jxr_linenumber" name="2320" href="#2320">2320</a>     }
<a class="jxr_linenumber" name="2321" href="#2321">2321</a> 
<a class="jxr_linenumber" name="2322" href="#2322">2322</a>     <strong class="jxr_keyword">private</strong> &lt;E&gt; E toEnum(Class&lt;E&gt; enumClass, <strong class="jxr_keyword">int</strong> i) {
<a class="jxr_linenumber" name="2323" href="#2323">2323</a>         E[] enumConstants = enumClass.getEnumConstants();
<a class="jxr_linenumber" name="2324" href="#2324">2324</a>         <strong class="jxr_keyword">if</strong> (i &gt; enumConstants.length) {
<a class="jxr_linenumber" name="2325" href="#2325">2325</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException(String.format(
<a class="jxr_linenumber" name="2326" href="#2326">2326</a>                     <span class="jxr_string">"%d is too large of an ordinal to convert to the enum %s"</span>,
<a class="jxr_linenumber" name="2327" href="#2327">2327</a>                     i, enumClass.getName()));
<a class="jxr_linenumber" name="2328" href="#2328">2328</a>         }
<a class="jxr_linenumber" name="2329" href="#2329">2329</a>         <strong class="jxr_keyword">return</strong> enumConstants[i];
<a class="jxr_linenumber" name="2330" href="#2330">2330</a>     }
<a class="jxr_linenumber" name="2331" href="#2331">2331</a> 
<a class="jxr_linenumber" name="2332" href="#2332">2332</a>     <strong class="jxr_keyword">private</strong> String enumConversionErrorMessage(Enum&lt;?&gt; e, String type) {
<a class="jxr_linenumber" name="2333" href="#2333">2333</a>         <strong class="jxr_keyword">return</strong> String.format(<span class="jxr_string">"%s.%s has an ordinal value too large for a %s"</span>, e
<a class="jxr_linenumber" name="2334" href="#2334">2334</a>                 .getClass().getName(), e.name(), type);
<a class="jxr_linenumber" name="2335" href="#2335">2335</a>     }
<a class="jxr_linenumber" name="2336" href="#2336">2336</a> 
<a class="jxr_linenumber" name="2337" href="#2337">2337</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2338" href="#2338">2338</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2339" href="#2339">2339</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2340" href="#2340">2340</a>     @Override
<a class="jxr_linenumber" name="2341" href="#2341">2341</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSet(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2342" href="#2342">2342</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, get() &amp; BYTE_MASK);
<a class="jxr_linenumber" name="2343" href="#2343">2343</a>     }
<a class="jxr_linenumber" name="2344" href="#2344">2344</a> 
<a class="jxr_linenumber" name="2345" href="#2345">2345</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2346" href="#2346">2346</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2347" href="#2347">2347</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2348" href="#2348">2348</a>     @Override
<a class="jxr_linenumber" name="2349" href="#2349">2349</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSet(<strong class="jxr_keyword">int</strong> index,
<a class="jxr_linenumber" name="2350" href="#2350">2350</a>             Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2351" href="#2351">2351</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, get(index) &amp; BYTE_MASK);
<a class="jxr_linenumber" name="2352" href="#2352">2352</a>     }
<a class="jxr_linenumber" name="2353" href="#2353">2353</a> 
<a class="jxr_linenumber" name="2354" href="#2354">2354</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2355" href="#2355">2355</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2356" href="#2356">2356</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2357" href="#2357">2357</a>     @Override
<a class="jxr_linenumber" name="2358" href="#2358">2358</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetShort(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2359" href="#2359">2359</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getShort() &amp; SHORT_MASK);
<a class="jxr_linenumber" name="2360" href="#2360">2360</a>     }
<a class="jxr_linenumber" name="2361" href="#2361">2361</a> 
<a class="jxr_linenumber" name="2362" href="#2362">2362</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2363" href="#2363">2363</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2364" href="#2364">2364</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2365" href="#2365">2365</a>     @Override
<a class="jxr_linenumber" name="2366" href="#2366">2366</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetShort(<strong class="jxr_keyword">int</strong> index,
<a class="jxr_linenumber" name="2367" href="#2367">2367</a>             Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2368" href="#2368">2368</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getShort(index) &amp; SHORT_MASK);
<a class="jxr_linenumber" name="2369" href="#2369">2369</a>     }
<a class="jxr_linenumber" name="2370" href="#2370">2370</a> 
<a class="jxr_linenumber" name="2371" href="#2371">2371</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2372" href="#2372">2372</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2373" href="#2373">2373</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2374" href="#2374">2374</a>     @Override
<a class="jxr_linenumber" name="2375" href="#2375">2375</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetInt(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2376" href="#2376">2376</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getInt() &amp; INT_MASK);
<a class="jxr_linenumber" name="2377" href="#2377">2377</a>     }
<a class="jxr_linenumber" name="2378" href="#2378">2378</a> 
<a class="jxr_linenumber" name="2379" href="#2379">2379</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2380" href="#2380">2380</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2381" href="#2381">2381</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2382" href="#2382">2382</a>     @Override
<a class="jxr_linenumber" name="2383" href="#2383">2383</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetInt(<strong class="jxr_keyword">int</strong> index,
<a class="jxr_linenumber" name="2384" href="#2384">2384</a>             Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2385" href="#2385">2385</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getInt(index) &amp; INT_MASK);
<a class="jxr_linenumber" name="2386" href="#2386">2386</a>     }
<a class="jxr_linenumber" name="2387" href="#2387">2387</a> 
<a class="jxr_linenumber" name="2388" href="#2388">2388</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2389" href="#2389">2389</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2390" href="#2390">2390</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2391" href="#2391">2391</a>     @Override
<a class="jxr_linenumber" name="2392" href="#2392">2392</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetLong(Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2393" href="#2393">2393</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getLong());
<a class="jxr_linenumber" name="2394" href="#2394">2394</a>     }
<a class="jxr_linenumber" name="2395" href="#2395">2395</a> 
<a class="jxr_linenumber" name="2396" href="#2396">2396</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2397" href="#2397">2397</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2398" href="#2398">2398</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2399" href="#2399">2399</a>     @Override
<a class="jxr_linenumber" name="2400" href="#2400">2400</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; getEnumSetLong(<strong class="jxr_keyword">int</strong> index,
<a class="jxr_linenumber" name="2401" href="#2401">2401</a>             Class&lt;E&gt; enumClass) {
<a class="jxr_linenumber" name="2402" href="#2402">2402</a>         <strong class="jxr_keyword">return</strong> toEnumSet(enumClass, getLong(index));
<a class="jxr_linenumber" name="2403" href="#2403">2403</a>     }
<a class="jxr_linenumber" name="2404" href="#2404">2404</a> 
<a class="jxr_linenumber" name="2405" href="#2405">2405</a>     <strong class="jxr_keyword">private</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; EnumSet&lt;E&gt; toEnumSet(Class&lt;E&gt; clazz, <strong class="jxr_keyword">long</strong> vector) {
<a class="jxr_linenumber" name="2406" href="#2406">2406</a>         EnumSet&lt;E&gt; set = EnumSet.noneOf(clazz);
<a class="jxr_linenumber" name="2407" href="#2407">2407</a>         <strong class="jxr_keyword">long</strong> mask = 1;
<a class="jxr_linenumber" name="2408" href="#2408">2408</a>         <strong class="jxr_keyword">for</strong> (E e : clazz.getEnumConstants()) {
<a class="jxr_linenumber" name="2409" href="#2409">2409</a>             <strong class="jxr_keyword">if</strong> ((mask &amp; vector) == mask) {
<a class="jxr_linenumber" name="2410" href="#2410">2410</a>                 set.add(e);
<a class="jxr_linenumber" name="2411" href="#2411">2411</a>             }
<a class="jxr_linenumber" name="2412" href="#2412">2412</a>             mask &lt;&lt;= 1;
<a class="jxr_linenumber" name="2413" href="#2413">2413</a>         }
<a class="jxr_linenumber" name="2414" href="#2414">2414</a>         <strong class="jxr_keyword">return</strong> set;
<a class="jxr_linenumber" name="2415" href="#2415">2415</a>     }
<a class="jxr_linenumber" name="2416" href="#2416">2416</a> 
<a class="jxr_linenumber" name="2417" href="#2417">2417</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2418" href="#2418">2418</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2419" href="#2419">2419</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2420" href="#2420">2420</a>     @Override
<a class="jxr_linenumber" name="2421" href="#2421">2421</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSet(Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2422" href="#2422">2422</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2423" href="#2423">2423</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~BYTE_MASK) != 0) {
<a class="jxr_linenumber" name="2424" href="#2424">2424</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2425" href="#2425">2425</a>                     <span class="jxr_string">"The enum set is too large to fit in a byte: "</span> + set);
<a class="jxr_linenumber" name="2426" href="#2426">2426</a>         }
<a class="jxr_linenumber" name="2427" href="#2427">2427</a>         <strong class="jxr_keyword">return</strong> put((byte) vector);
<a class="jxr_linenumber" name="2428" href="#2428">2428</a>     }
<a class="jxr_linenumber" name="2429" href="#2429">2429</a> 
<a class="jxr_linenumber" name="2430" href="#2430">2430</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2431" href="#2431">2431</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2432" href="#2432">2432</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2433" href="#2433">2433</a>     @Override
<a class="jxr_linenumber" name="2434" href="#2434">2434</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSet(<strong class="jxr_keyword">int</strong> index, Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2435" href="#2435">2435</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2436" href="#2436">2436</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~BYTE_MASK) != 0) {
<a class="jxr_linenumber" name="2437" href="#2437">2437</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2438" href="#2438">2438</a>                     <span class="jxr_string">"The enum set is too large to fit in a byte: "</span> + set);
<a class="jxr_linenumber" name="2439" href="#2439">2439</a>         }
<a class="jxr_linenumber" name="2440" href="#2440">2440</a>         <strong class="jxr_keyword">return</strong> put(index, (byte) vector);
<a class="jxr_linenumber" name="2441" href="#2441">2441</a>     }
<a class="jxr_linenumber" name="2442" href="#2442">2442</a> 
<a class="jxr_linenumber" name="2443" href="#2443">2443</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2444" href="#2444">2444</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2445" href="#2445">2445</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2446" href="#2446">2446</a>     @Override
<a class="jxr_linenumber" name="2447" href="#2447">2447</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetShort(Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2448" href="#2448">2448</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2449" href="#2449">2449</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~SHORT_MASK) != 0) {
<a class="jxr_linenumber" name="2450" href="#2450">2450</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2451" href="#2451">2451</a>                     <span class="jxr_string">"The enum set is too large to fit in a short: "</span> + set);
<a class="jxr_linenumber" name="2452" href="#2452">2452</a>         }
<a class="jxr_linenumber" name="2453" href="#2453">2453</a>         <strong class="jxr_keyword">return</strong> putShort((<strong class="jxr_keyword">short</strong>) vector);
<a class="jxr_linenumber" name="2454" href="#2454">2454</a>     }
<a class="jxr_linenumber" name="2455" href="#2455">2455</a> 
<a class="jxr_linenumber" name="2456" href="#2456">2456</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2457" href="#2457">2457</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2458" href="#2458">2458</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2459" href="#2459">2459</a>     @Override
<a class="jxr_linenumber" name="2460" href="#2460">2460</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetShort(<strong class="jxr_keyword">int</strong> index, Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2461" href="#2461">2461</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2462" href="#2462">2462</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~SHORT_MASK) != 0) {
<a class="jxr_linenumber" name="2463" href="#2463">2463</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2464" href="#2464">2464</a>                     <span class="jxr_string">"The enum set is too large to fit in a short: "</span> + set);
<a class="jxr_linenumber" name="2465" href="#2465">2465</a>         }
<a class="jxr_linenumber" name="2466" href="#2466">2466</a>         <strong class="jxr_keyword">return</strong> putShort(index, (<strong class="jxr_keyword">short</strong>) vector);
<a class="jxr_linenumber" name="2467" href="#2467">2467</a>     }
<a class="jxr_linenumber" name="2468" href="#2468">2468</a> 
<a class="jxr_linenumber" name="2469" href="#2469">2469</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2470" href="#2470">2470</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2471" href="#2471">2471</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2472" href="#2472">2472</a>     @Override
<a class="jxr_linenumber" name="2473" href="#2473">2473</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetInt(Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2474" href="#2474">2474</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2475" href="#2475">2475</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~INT_MASK) != 0) {
<a class="jxr_linenumber" name="2476" href="#2476">2476</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2477" href="#2477">2477</a>                     <span class="jxr_string">"The enum set is too large to fit in an int: "</span> + set);
<a class="jxr_linenumber" name="2478" href="#2478">2478</a>         }
<a class="jxr_linenumber" name="2479" href="#2479">2479</a>         <strong class="jxr_keyword">return</strong> putInt((<strong class="jxr_keyword">int</strong>) vector);
<a class="jxr_linenumber" name="2480" href="#2480">2480</a>     }
<a class="jxr_linenumber" name="2481" href="#2481">2481</a> 
<a class="jxr_linenumber" name="2482" href="#2482">2482</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2483" href="#2483">2483</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2484" href="#2484">2484</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2485" href="#2485">2485</a>     @Override
<a class="jxr_linenumber" name="2486" href="#2486">2486</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetInt(<strong class="jxr_keyword">int</strong> index, Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2487" href="#2487">2487</a>         <strong class="jxr_keyword">long</strong> vector = toLong(set);
<a class="jxr_linenumber" name="2488" href="#2488">2488</a>         <strong class="jxr_keyword">if</strong> ((vector &amp; ~INT_MASK) != 0) {
<a class="jxr_linenumber" name="2489" href="#2489">2489</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2490" href="#2490">2490</a>                     <span class="jxr_string">"The enum set is too large to fit in an int: "</span> + set);
<a class="jxr_linenumber" name="2491" href="#2491">2491</a>         }
<a class="jxr_linenumber" name="2492" href="#2492">2492</a>         <strong class="jxr_keyword">return</strong> putInt(index, (<strong class="jxr_keyword">int</strong>) vector);
<a class="jxr_linenumber" name="2493" href="#2493">2493</a>     }
<a class="jxr_linenumber" name="2494" href="#2494">2494</a> 
<a class="jxr_linenumber" name="2495" href="#2495">2495</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2496" href="#2496">2496</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2497" href="#2497">2497</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2498" href="#2498">2498</a>     @Override
<a class="jxr_linenumber" name="2499" href="#2499">2499</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetLong(Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2500" href="#2500">2500</a>         <strong class="jxr_keyword">return</strong> putLong(toLong(set));
<a class="jxr_linenumber" name="2501" href="#2501">2501</a>     }
<a class="jxr_linenumber" name="2502" href="#2502">2502</a> 
<a class="jxr_linenumber" name="2503" href="#2503">2503</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2504" href="#2504">2504</a> <em class="jxr_javadoccomment">     * {@inheritDoc}</em>
<a class="jxr_linenumber" name="2505" href="#2505">2505</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2506" href="#2506">2506</a>     @Override
<a class="jxr_linenumber" name="2507" href="#2507">2507</a>     <strong class="jxr_keyword">public</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> putEnumSetLong(<strong class="jxr_keyword">int</strong> index, Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2508" href="#2508">2508</a>         <strong class="jxr_keyword">return</strong> putLong(index, toLong(set));
<a class="jxr_linenumber" name="2509" href="#2509">2509</a>     }
<a class="jxr_linenumber" name="2510" href="#2510">2510</a> 
<a class="jxr_linenumber" name="2511" href="#2511">2511</a>     <strong class="jxr_keyword">private</strong> &lt;E <strong class="jxr_keyword">extends</strong> Enum&lt;E&gt;&gt; <strong class="jxr_keyword">long</strong> toLong(Set&lt;E&gt; set) {
<a class="jxr_linenumber" name="2512" href="#2512">2512</a>         <strong class="jxr_keyword">long</strong> vector = 0;
<a class="jxr_linenumber" name="2513" href="#2513">2513</a>         <strong class="jxr_keyword">for</strong> (E e : set) {
<a class="jxr_linenumber" name="2514" href="#2514">2514</a>             <strong class="jxr_keyword">if</strong> (e.ordinal() &gt;= Long.SIZE) {
<a class="jxr_linenumber" name="2515" href="#2515">2515</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="2516" href="#2516">2516</a>                         <span class="jxr_string">"The enum set is too large to fit in a bit vector: "</span>
<a class="jxr_linenumber" name="2517" href="#2517">2517</a>                                 + set);
<a class="jxr_linenumber" name="2518" href="#2518">2518</a>             }
<a class="jxr_linenumber" name="2519" href="#2519">2519</a>             vector |= 1L &lt;&lt; e.ordinal();
<a class="jxr_linenumber" name="2520" href="#2520">2520</a>         }
<a class="jxr_linenumber" name="2521" href="#2521">2521</a>         <strong class="jxr_keyword">return</strong> vector;
<a class="jxr_linenumber" name="2522" href="#2522">2522</a>     }
<a class="jxr_linenumber" name="2523" href="#2523">2523</a> 
<a class="jxr_linenumber" name="2524" href="#2524">2524</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2525" href="#2525">2525</a> <em class="jxr_javadoccomment">     * This method forwards the call to {@link #expand(int)} only when</em>
<a class="jxr_linenumber" name="2526" href="#2526">2526</a> <em class="jxr_javadoccomment">     * &lt;tt&gt;autoExpand&lt;/tt&gt; property is &lt;tt&gt;true&lt;/tt&gt;.</em>
<a class="jxr_linenumber" name="2527" href="#2527">2527</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2528" href="#2528">2528</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> autoExpand(<strong class="jxr_keyword">int</strong> expectedRemaining) {
<a class="jxr_linenumber" name="2529" href="#2529">2529</a>         <strong class="jxr_keyword">if</strong> (isAutoExpand()) {
<a class="jxr_linenumber" name="2530" href="#2530">2530</a>             expand(expectedRemaining, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="2531" href="#2531">2531</a>         }
<a class="jxr_linenumber" name="2532" href="#2532">2532</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2533" href="#2533">2533</a>     }
<a class="jxr_linenumber" name="2534" href="#2534">2534</a> 
<a class="jxr_linenumber" name="2535" href="#2535">2535</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="2536" href="#2536">2536</a> <em class="jxr_javadoccomment">     * This method forwards the call to {@link #expand(int)} only when</em>
<a class="jxr_linenumber" name="2537" href="#2537">2537</a> <em class="jxr_javadoccomment">     * &lt;tt&gt;autoExpand&lt;/tt&gt; property is &lt;tt&gt;true&lt;/tt&gt;.</em>
<a class="jxr_linenumber" name="2538" href="#2538">2538</a> <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="2539" href="#2539">2539</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> autoExpand(<strong class="jxr_keyword">int</strong> pos, <strong class="jxr_keyword">int</strong> expectedRemaining) {
<a class="jxr_linenumber" name="2540" href="#2540">2540</a>         <strong class="jxr_keyword">if</strong> (isAutoExpand()) {
<a class="jxr_linenumber" name="2541" href="#2541">2541</a>             expand(pos, expectedRemaining, <strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="2542" href="#2542">2542</a>         }
<a class="jxr_linenumber" name="2543" href="#2543">2543</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
<a class="jxr_linenumber" name="2544" href="#2544">2544</a>     }
<a class="jxr_linenumber" name="2545" href="#2545">2545</a> 
<a class="jxr_linenumber" name="2546" href="#2546">2546</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> checkFieldSize(<strong class="jxr_keyword">int</strong> fieldSize) {
<a class="jxr_linenumber" name="2547" href="#2547">2547</a>         <strong class="jxr_keyword">if</strong> (fieldSize &lt; 0) {
<a class="jxr_linenumber" name="2548" href="#2548">2548</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"fieldSize cannot be negative: "</span>
<a class="jxr_linenumber" name="2549" href="#2549">2549</a>                     + fieldSize);
<a class="jxr_linenumber" name="2550" href="#2550">2550</a>         }
<a class="jxr_linenumber" name="2551" href="#2551">2551</a>     }
<a class="jxr_linenumber" name="2552" href="#2552">2552</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

