<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>CompositeByteArray xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/util/byteaccess/CompositeByteArray.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_comment"> *    <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.util.byteaccess;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.nio.ByteOrder;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.buffer.IoBuffer;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.util.byteaccess.ByteArrayList.Node;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment">/**</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * A ByteArray composed of other ByteArrays. Optimised for fast relative access</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> * via cursors. Absolute access methods are provided, but may perform poorly.</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> *</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> * TODO: Write about laziness of cursor implementation - how movement doesn't</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * happen until actual get/put.</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * </em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="40" href="#40">40</a>  <em class="jxr_javadoccomment"> * @version $Rev$, $Date$</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment"> */</em>
<a name="42" href="#42">42</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/util/byteaccess/AbstractByteArray.html">AbstractByteArray</a>
<a name="43" href="#43">43</a>  {
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <em class="jxr_javadoccomment">/**</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     * Allows for efficient detection of component boundaries when using a cursor.</em>
<a name="47" href="#47">47</a>  <em class="jxr_javadoccomment">     *</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">     * TODO: Is this interface right?</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">     */</em>
<a name="50" href="#50">50</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorListener</a>
<a name="51" href="#51">51</a>      {
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>          <em class="jxr_javadoccomment">/**</em>
<a name="54" href="#54">54</a>  <em class="jxr_javadoccomment">         * Called when the first component in the composite is entered by the cursor.</em>
<a name="55" href="#55">55</a>  <em class="jxr_javadoccomment">         */</em>
<a name="56" href="#56">56</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> enteredFirstComponent( <strong class="jxr_keyword">int</strong> componentIndex, ByteArray component );
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>  
<a name="59" href="#59">59</a>          <em class="jxr_javadoccomment">/**</em>
<a name="60" href="#60">60</a>  <em class="jxr_javadoccomment">         * Called when the next component in the composite is entered by the cursor.</em>
<a name="61" href="#61">61</a>  <em class="jxr_javadoccomment">         */</em>
<a name="62" href="#62">62</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> enteredNextComponent( <strong class="jxr_keyword">int</strong> componentIndex, ByteArray component );
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>  
<a name="65" href="#65">65</a>          <em class="jxr_javadoccomment">/**</em>
<a name="66" href="#66">66</a>  <em class="jxr_javadoccomment">         * Called when the previous component in the composite is entered by the cursor.</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">         */</em>
<a name="68" href="#68">68</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> enteredPreviousComponent( <strong class="jxr_keyword">int</strong> componentIndex, ByteArray component );
<a name="69" href="#69">69</a>  
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>          <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">         * Called when the last component in the composite is entered by the cursor.</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">         */</em>
<a name="74" href="#74">74</a>          <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> enteredLastComponent( <strong class="jxr_keyword">int</strong> componentIndex, ByteArray component );
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      }
<a name="77" href="#77">77</a>  
<a name="78" href="#78">78</a>      <em class="jxr_javadoccomment">/**</em>
<a name="79" href="#79">79</a>  <em class="jxr_javadoccomment">     * Stores the underlying &lt;code&gt;ByteArray&lt;/code&gt;s.</em>
<a name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     */</em>
<a name="81" href="#81">81</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">ByteArrayList</a> bas = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">ByteArrayList</a>();
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>      <em class="jxr_javadoccomment">/**</em>
<a name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     * The byte order for data in the buffer</em>
<a name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">private</strong> ByteOrder order;
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>      <em class="jxr_javadoccomment">/**</em>
<a name="89" href="#89">89</a>  <em class="jxr_javadoccomment">     * May be used in &lt;code&gt;getSingleIoBuffer&lt;/code&gt;. Optional.</em>
<a name="90" href="#90">90</a>  <em class="jxr_javadoccomment">     */</em>
<a name="91" href="#91">91</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayFactory.html">ByteArrayFactory</a> byteArrayFactory;
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <em class="jxr_javadoccomment">/**</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">     * Creates a new instance of CompositeByteArray.</em>
<a name="95" href="#95">95</a>  <em class="jxr_javadoccomment">     */</em>
<a name="96" href="#96">96</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a>()
<a name="97" href="#97">97</a>      {
<a name="98" href="#98">98</a>          <strong class="jxr_keyword">this</strong>( <strong class="jxr_keyword">null</strong> );
<a name="99" href="#99">99</a>      }
<a name="100" href="#100">100</a> 
<a name="101" href="#101">101</a>     <em class="jxr_javadoccomment">/**</em>
<a name="102" href="#102">102</a> <em class="jxr_javadoccomment">     * </em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">     * Creates a new instance of CompositeByteArray.</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">     *</em>
<a name="105" href="#105">105</a> <em class="jxr_javadoccomment">     * @param byteArrayFactory</em>
<a name="106" href="#106">106</a> <em class="jxr_javadoccomment">     *  The factory used to create the ByteArray objects</em>
<a name="107" href="#107">107</a> <em class="jxr_javadoccomment">     */</em>
<a name="108" href="#108">108</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a>( ByteArrayFactory byteArrayFactory )
<a name="109" href="#109">109</a>     {
<a name="110" href="#110">110</a>         <strong class="jxr_keyword">this</strong>.byteArrayFactory = byteArrayFactory;
<a name="111" href="#111">111</a>     }
<a name="112" href="#112">112</a> 
<a name="113" href="#113">113</a>     <em class="jxr_javadoccomment">/**</em>
<a name="114" href="#114">114</a> <em class="jxr_javadoccomment">     * Returns the first {@link ByteArray} in the list</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">     *</em>
<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="117" href="#117">117</a> <em class="jxr_javadoccomment">     *  The first ByteArray in the list</em>
<a name="118" href="#118">118</a> <em class="jxr_javadoccomment">     */</em>
<a name="119" href="#119">119</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> getFirst()
<a name="120" href="#120">120</a>     {
<a name="121" href="#121">121</a>         <strong class="jxr_keyword">if</strong> ( bas.isEmpty() )
<a name="122" href="#122">122</a>         {
<a name="123" href="#123">123</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a name="124" href="#124">124</a>         }
<a name="125" href="#125">125</a>         <strong class="jxr_keyword">else</strong>
<a name="126" href="#126">126</a>         {
<a name="127" href="#127">127</a>             <strong class="jxr_keyword">return</strong> bas.getFirst().getByteArray();
<a name="128" href="#128">128</a>         }
<a name="129" href="#129">129</a>     }
<a name="130" href="#130">130</a> 
<a name="131" href="#131">131</a>     <em class="jxr_javadoccomment">/**</em>
<a name="132" href="#132">132</a> <em class="jxr_javadoccomment">     * Adds the specified {@link ByteArray} to the first</em>
<a name="133" href="#133">133</a> <em class="jxr_javadoccomment">     * position in the list</em>
<a name="134" href="#134">134</a> <em class="jxr_javadoccomment">     *</em>
<a name="135" href="#135">135</a> <em class="jxr_javadoccomment">     * @param ba</em>
<a name="136" href="#136">136</a> <em class="jxr_javadoccomment">     *  The ByteArray to add to the list</em>
<a name="137" href="#137">137</a> <em class="jxr_javadoccomment">     */</em>
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addFirst( ByteArray ba )
<a name="139" href="#139">139</a>     {
<a name="140" href="#140">140</a>         addHook( ba );
<a name="141" href="#141">141</a>         bas.addFirst( ba );
<a name="142" href="#142">142</a>     }
<a name="143" href="#143">143</a> 
<a name="144" href="#144">144</a>     <em class="jxr_javadoccomment">/**</em>
<a name="145" href="#145">145</a> <em class="jxr_javadoccomment">     * Remove the first {@link ByteArray} in the list</em>
<a name="146" href="#146">146</a> <em class="jxr_javadoccomment">     *</em>
<a name="147" href="#147">147</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="148" href="#148">148</a> <em class="jxr_javadoccomment">     *  The first ByteArray in the list</em>
<a name="149" href="#149">149</a> <em class="jxr_javadoccomment">     */</em>
<a name="150" href="#150">150</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> removeFirst()
<a name="151" href="#151">151</a>     {
<a name="152" href="#152">152</a>         <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.removeFirst();
<a name="153" href="#153">153</a>         <strong class="jxr_keyword">return</strong> node == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : node.getByteArray();
<a name="154" href="#154">154</a>     }
<a name="155" href="#155">155</a> 
<a name="156" href="#156">156</a> 
<a name="157" href="#157">157</a>     <em class="jxr_javadoccomment">/**</em>
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">     * Remove component &lt;code&gt;ByteArray&lt;/code&gt;s to the given index (splitting</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">     * them if necessary) and returning them in a single &lt;code&gt;ByteArray&lt;/code&gt;.</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">     * The caller is responsible for freeing the returned object.</em>
<a name="161" href="#161">161</a> <em class="jxr_javadoccomment">     *</em>
<a name="162" href="#162">162</a> <em class="jxr_javadoccomment">     * TODO: Document free behaviour more thoroughly.</em>
<a name="163" href="#163">163</a> <em class="jxr_javadoccomment">     */</em>
<a name="164" href="#164">164</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> removeTo( <strong class="jxr_keyword">int</strong> index )
<a name="165" href="#165">165</a>     {
<a name="166" href="#166">166</a>         <strong class="jxr_keyword">if</strong> ( index &lt; first() || index &gt; last() )
<a name="167" href="#167">167</a>         {
<a name="168" href="#168">168</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException();
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a>         <em class="jxr_comment">// Optimisation when removing exactly one component.</em>
<a name="171" href="#171">171</a>         <em class="jxr_comment">//        if (index == start() + getFirst().length()) {</em>
<a name="172" href="#172">172</a>         <em class="jxr_comment">//            ByteArray component = getFirst();</em>
<a name="173" href="#173">173</a>         <em class="jxr_comment">//            removeFirst();</em>
<a name="174" href="#174">174</a>         <em class="jxr_comment">//            return component;</em>
<a name="175" href="#175">175</a>         <em class="jxr_comment">//        }</em>
<a name="176" href="#176">176</a>         <em class="jxr_comment">// Removing</em>
<a name="177" href="#177">177</a>         <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a> prefix = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a>( byteArrayFactory );
<a name="178" href="#178">178</a>         <strong class="jxr_keyword">int</strong> remaining = index - first();
<a name="179" href="#179">179</a>         <strong class="jxr_keyword">while</strong> ( remaining &gt; 0 )
<a name="180" href="#180">180</a>         {
<a name="181" href="#181">181</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> component = removeFirst();
<a name="182" href="#182">182</a>             <strong class="jxr_keyword">if</strong> ( component.last() &lt;= remaining )
<a name="183" href="#183">183</a>             {
<a name="184" href="#184">184</a>                 <em class="jxr_comment">// Remove entire component.</em>
<a name="185" href="#185">185</a>                 prefix.addLast( component );
<a name="186" href="#186">186</a>                 remaining -= component.last();
<a name="187" href="#187">187</a>             }
<a name="188" href="#188">188</a>             <strong class="jxr_keyword">else</strong>
<a name="189" href="#189">189</a>             {
<a name="190" href="#190">190</a>                 <em class="jxr_comment">// Remove part of component. Do this by removing entire</em>
<a name="191" href="#191">191</a>                 <em class="jxr_comment">// component then readding remaining bytes.</em>
<a name="192" href="#192">192</a>                 <em class="jxr_comment">// TODO: Consider using getIoBuffers(), as would avoid</em>
<a name="193" href="#193">193</a>                 <em class="jxr_comment">// performance problems for nested ComponentByteArrays.</em>
<a name="194" href="#194">194</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> bb = component.getSingleIoBuffer();
<a name="195" href="#195">195</a>                 <em class="jxr_comment">// get the limit of the buffer</em>
<a name="196" href="#196">196</a>                 <strong class="jxr_keyword">int</strong> originalLimit = bb.limit();
<a name="197" href="#197">197</a>                 <em class="jxr_comment">// set the position to the beginning of the buffer</em>
<a name="198" href="#198">198</a>                 bb.position( 0 );
<a name="199" href="#199">199</a>                 <em class="jxr_comment">// set the limit of the buffer to what is remaining</em>
<a name="200" href="#200">200</a>                 bb.limit( remaining );
<a name="201" href="#201">201</a>                 <em class="jxr_comment">// create a new IoBuffer, sharing the data with 'bb'</em>
<a name="202" href="#202">202</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> bb1 = bb.slice();
<a name="203" href="#203">203</a>                 <em class="jxr_comment">// set the position at the end of the buffer</em>
<a name="204" href="#204">204</a>                 bb.position( remaining );
<a name="205" href="#205">205</a>                 <em class="jxr_comment">// gets the limit of the buffer</em>
<a name="206" href="#206">206</a>                 bb.limit( originalLimit );
<a name="207" href="#207">207</a>                 <em class="jxr_comment">// create a new IoBuffer, sharing teh data with 'bb'</em>
<a name="208" href="#208">208</a>                 <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> bb2 = bb.slice();
<a name="209" href="#209">209</a>                 <em class="jxr_comment">// create a new ByteArray with 'bb1'</em>
<a name="210" href="#210">210</a>                 <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> ba1 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/BufferByteArray.html">BufferByteArray</a>( bb1 )
<a name="211" href="#211">211</a>                 {
<a name="212" href="#212">212</a>                     @Override
<a name="213" href="#213">213</a>                     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> free()
<a name="214" href="#214">214</a>                     {
<a name="215" href="#215">215</a>                         <em class="jxr_comment">// Do not free.  This will get freed </em>
<a name="216" href="#216">216</a>                     }
<a name="217" href="#217">217</a>                 };
<a name="218" href="#218">218</a>                 <em class="jxr_comment">// add the new ByteArray to the CompositeByteArray</em>
<a name="219" href="#219">219</a>                 prefix.addLast( ba1 );
<a name="220" href="#220">220</a>                 remaining -= ba1.last();
<a name="221" href="#221">221</a>                 
<a name="222" href="#222">222</a>                 <em class="jxr_comment">// final for anonymous inner class</em>
<a name="223" href="#223">223</a>                 <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> componentFinal = component; 
<a name="224" href="#224">224</a>                 <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> ba2 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/BufferByteArray.html">BufferByteArray</a>( bb2 )
<a name="225" href="#225">225</a>                 {
<a name="226" href="#226">226</a>                     @Override
<a name="227" href="#227">227</a>                     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> free()
<a name="228" href="#228">228</a>                     {
<a name="229" href="#229">229</a>                         componentFinal.free();
<a name="230" href="#230">230</a>                     }
<a name="231" href="#231">231</a>                 };
<a name="232" href="#232">232</a>                 <em class="jxr_comment">// add the new ByteArray to the CompositeByteArray</em>
<a name="233" href="#233">233</a>                 addFirst( ba2 );
<a name="234" href="#234">234</a>             }
<a name="235" href="#235">235</a>         }
<a name="236" href="#236">236</a>         
<a name="237" href="#237">237</a>         <em class="jxr_comment">// return the CompositeByteArray</em>
<a name="238" href="#238">238</a>         <strong class="jxr_keyword">return</strong> prefix;
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a> 
<a name="241" href="#241">241</a>     <em class="jxr_javadoccomment">/**</em>
<a name="242" href="#242">242</a> <em class="jxr_javadoccomment">     * Adds the specified {@link ByteArray} to the end of the list</em>
<a name="243" href="#243">243</a> <em class="jxr_javadoccomment">     *</em>
<a name="244" href="#244">244</a> <em class="jxr_javadoccomment">     * @param ba</em>
<a name="245" href="#245">245</a> <em class="jxr_javadoccomment">     *  The ByteArray to add to the end of the list</em>
<a name="246" href="#246">246</a> <em class="jxr_javadoccomment">     */</em>
<a name="247" href="#247">247</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addLast( ByteArray ba )
<a name="248" href="#248">248</a>     {
<a name="249" href="#249">249</a>         addHook( ba );
<a name="250" href="#250">250</a>         bas.addLast( ba );
<a name="251" href="#251">251</a>     }
<a name="252" href="#252">252</a> 
<a name="253" href="#253">253</a>     <em class="jxr_javadoccomment">/**</em>
<a name="254" href="#254">254</a> <em class="jxr_javadoccomment">     * Removes the last {@link ByteArray} in the list</em>
<a name="255" href="#255">255</a> <em class="jxr_javadoccomment">     *</em>
<a name="256" href="#256">256</a> <em class="jxr_javadoccomment">     * @return</em>
<a name="257" href="#257">257</a> <em class="jxr_javadoccomment">     *  The ByteArray that was removed</em>
<a name="258" href="#258">258</a> <em class="jxr_javadoccomment">     */</em>
<a name="259" href="#259">259</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> removeLast()
<a name="260" href="#260">260</a>     {
<a name="261" href="#261">261</a>         <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.removeLast();
<a name="262" href="#262">262</a>         <strong class="jxr_keyword">return</strong> node == <strong class="jxr_keyword">null</strong> ? <strong class="jxr_keyword">null</strong> : node.getByteArray();
<a name="263" href="#263">263</a>     }
<a name="264" href="#264">264</a> 
<a name="265" href="#265">265</a> 
<a name="266" href="#266">266</a>     <em class="jxr_javadoccomment">/**</em>
<a name="267" href="#267">267</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="268" href="#268">268</a> <em class="jxr_javadoccomment">     */</em>
<a name="269" href="#269">269</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> free()
<a name="270" href="#270">270</a>     {
<a name="271" href="#271">271</a>         <strong class="jxr_keyword">while</strong> ( !bas.isEmpty() )
<a name="272" href="#272">272</a>         {
<a name="273" href="#273">273</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.getLast();
<a name="274" href="#274">274</a>             node.getByteArray().free();
<a name="275" href="#275">275</a>             bas.removeLast();
<a name="276" href="#276">276</a>         }
<a name="277" href="#277">277</a>     }
<a name="278" href="#278">278</a> 
<a name="279" href="#279">279</a> 
<a name="280" href="#280">280</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> checkBounds( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> accessSize )
<a name="281" href="#281">281</a>     {
<a name="282" href="#282">282</a>         <strong class="jxr_keyword">int</strong> lower = index;
<a name="283" href="#283">283</a>         <strong class="jxr_keyword">int</strong> upper = index + accessSize;
<a name="284" href="#284">284</a>         <strong class="jxr_keyword">if</strong> ( lower &lt; first() )
<a name="285" href="#285">285</a>         {
<a name="286" href="#286">286</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException( <span class="jxr_string">"Index "</span> + lower + <span class="jxr_string">" less than start "</span> + first() + <span class="jxr_string">"."</span> );
<a name="287" href="#287">287</a>         }
<a name="288" href="#288">288</a>         <strong class="jxr_keyword">if</strong> ( upper &gt; last() )
<a name="289" href="#289">289</a>         {
<a name="290" href="#290">290</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IndexOutOfBoundsException( <span class="jxr_string">"Index "</span> + upper + <span class="jxr_string">" greater than length "</span> + last() + <span class="jxr_string">"."</span> );
<a name="291" href="#291">291</a>         }
<a name="292" href="#292">292</a>     }
<a name="293" href="#293">293</a> 
<a name="294" href="#294">294</a> 
<a name="295" href="#295">295</a>     <em class="jxr_javadoccomment">/**</em>
<a name="296" href="#296">296</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="297" href="#297">297</a> <em class="jxr_javadoccomment">     */</em>
<a name="298" href="#298">298</a>     <strong class="jxr_keyword">public</strong> Iterable&lt;IoBuffer&gt; getIoBuffers()
<a name="299" href="#299">299</a>     {
<a name="300" href="#300">300</a>         <strong class="jxr_keyword">if</strong> ( bas.isEmpty() )
<a name="301" href="#301">301</a>         {
<a name="302" href="#302">302</a>             <strong class="jxr_keyword">return</strong> Collections.emptyList();
<a name="303" href="#303">303</a>         }
<a name="304" href="#304">304</a>         Collection&lt;IoBuffer&gt; result = <strong class="jxr_keyword">new</strong> ArrayList&lt;IoBuffer&gt;();
<a name="305" href="#305">305</a>         <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.getFirst();
<a name="306" href="#306">306</a>         <strong class="jxr_keyword">for</strong> ( IoBuffer bb : node.getByteArray().getIoBuffers() )
<a name="307" href="#307">307</a>         {
<a name="308" href="#308">308</a>             result.add( bb );
<a name="309" href="#309">309</a>         }
<a name="310" href="#310">310</a>         <strong class="jxr_keyword">while</strong> ( node.hasNextNode() )
<a name="311" href="#311">311</a>         {
<a name="312" href="#312">312</a>             node = node.getNextNode();
<a name="313" href="#313">313</a>             <strong class="jxr_keyword">for</strong> ( IoBuffer bb : node.getByteArray().getIoBuffers() )
<a name="314" href="#314">314</a>             {
<a name="315" href="#315">315</a>                 result.add( bb );
<a name="316" href="#316">316</a>             }
<a name="317" href="#317">317</a>         }
<a name="318" href="#318">318</a>         <strong class="jxr_keyword">return</strong> result;
<a name="319" href="#319">319</a>     }
<a name="320" href="#320">320</a> 
<a name="321" href="#321">321</a> 
<a name="322" href="#322">322</a>     <em class="jxr_javadoccomment">/**</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">     */</em>
<a name="325" href="#325">325</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> getSingleIoBuffer()
<a name="326" href="#326">326</a>     {
<a name="327" href="#327">327</a>         <strong class="jxr_keyword">if</strong> ( byteArrayFactory == <strong class="jxr_keyword">null</strong> )
<a name="328" href="#328">328</a>         {
<a name="329" href="#329">329</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException(
<a name="330" href="#330">330</a>                 <span class="jxr_string">"Can't get single buffer from CompositeByteArray unless it has a ByteArrayFactory."</span> );
<a name="331" href="#331">331</a>         }
<a name="332" href="#332">332</a>         <strong class="jxr_keyword">if</strong> ( bas.isEmpty() )
<a name="333" href="#333">333</a>         {
<a name="334" href="#334">334</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> ba = byteArrayFactory.create( 1 );
<a name="335" href="#335">335</a>             <strong class="jxr_keyword">return</strong> ba.getSingleIoBuffer();
<a name="336" href="#336">336</a>         }
<a name="337" href="#337">337</a>         <strong class="jxr_keyword">int</strong> actualLength = last() - first();
<a name="338" href="#338">338</a>         {
<a name="339" href="#339">339</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.getFirst();
<a name="340" href="#340">340</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> ba = node.getByteArray();
<a name="341" href="#341">341</a>             <strong class="jxr_keyword">if</strong> ( ba.last() == actualLength )
<a name="342" href="#342">342</a>             {
<a name="343" href="#343">343</a>                 <strong class="jxr_keyword">return</strong> ba.getSingleIoBuffer();
<a name="344" href="#344">344</a>             }
<a name="345" href="#345">345</a>         }
<a name="346" href="#346">346</a>         <em class="jxr_comment">// Replace all nodes with a single node.</em>
<a name="347" href="#347">347</a>         <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> target = byteArrayFactory.create( actualLength );
<a name="348" href="#348">348</a>         <a href="../../../../../org/apache/mina/core/buffer/IoBuffer.html">IoBuffer</a> bb = target.getSingleIoBuffer();
<a name="349" href="#349">349</a>         <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a> cursor = cursor();
<a name="350" href="#350">350</a>         cursor.put( bb ); <em class="jxr_comment">// Copy all existing data into target IoBuffer.</em>
<a name="351" href="#351">351</a>         <strong class="jxr_keyword">while</strong> ( !bas.isEmpty() )
<a name="352" href="#352">352</a>         {
<a name="353" href="#353">353</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> node = bas.getLast();
<a name="354" href="#354">354</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> component = node.getByteArray();
<a name="355" href="#355">355</a>             bas.removeLast();
<a name="356" href="#356">356</a>             component.free();
<a name="357" href="#357">357</a>         }
<a name="358" href="#358">358</a>         bas.addLast( target );
<a name="359" href="#359">359</a>         <strong class="jxr_keyword">return</strong> bb;
<a name="360" href="#360">360</a>     }
<a name="361" href="#361">361</a> 
<a name="362" href="#362">362</a> 
<a name="363" href="#363">363</a>     <em class="jxr_javadoccomment">/**</em>
<a name="364" href="#364">364</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="365" href="#365">365</a> <em class="jxr_javadoccomment">     */</em>
<a name="366" href="#366">366</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a> cursor()
<a name="367" href="#367">367</a>     {
<a name="368" href="#368">368</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>();
<a name="369" href="#369">369</a>     }
<a name="370" href="#370">370</a> 
<a name="371" href="#371">371</a> 
<a name="372" href="#372">372</a>     <em class="jxr_javadoccomment">/**</em>
<a name="373" href="#373">373</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="374" href="#374">374</a> <em class="jxr_javadoccomment">     */</em>
<a name="375" href="#375">375</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a> cursor( <strong class="jxr_keyword">int</strong> index )
<a name="376" href="#376">376</a>     {
<a name="377" href="#377">377</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( index );
<a name="378" href="#378">378</a>     }
<a name="379" href="#379">379</a> 
<a name="380" href="#380">380</a> 
<a name="381" href="#381">381</a>     <em class="jxr_javadoccomment">/**</em>
<a name="382" href="#382">382</a> <em class="jxr_javadoccomment">     * Get a cursor starting at index 0 (which may not be the start of the</em>
<a name="383" href="#383">383</a> <em class="jxr_javadoccomment">     * array) and with the given listener.</em>
<a name="384" href="#384">384</a> <em class="jxr_javadoccomment">     * </em>
<a name="385" href="#385">385</a> <em class="jxr_javadoccomment">     * @param listener</em>
<a name="386" href="#386">386</a> <em class="jxr_javadoccomment">     *  Returns a new {@link Cursor} instance</em>
<a name="387" href="#387">387</a> <em class="jxr_javadoccomment">     */</em>
<a name="388" href="#388">388</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a> cursor( CursorListener listener )
<a name="389" href="#389">389</a>     {
<a name="390" href="#390">390</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( listener );
<a name="391" href="#391">391</a>     }
<a name="392" href="#392">392</a> 
<a name="393" href="#393">393</a> 
<a name="394" href="#394">394</a>     <em class="jxr_javadoccomment">/**</em>
<a name="395" href="#395">395</a> <em class="jxr_javadoccomment">     * Get a cursor starting at the given index and with the given listener.</em>
<a name="396" href="#396">396</a> <em class="jxr_javadoccomment">     * </em>
<a name="397" href="#397">397</a> <em class="jxr_javadoccomment">     * @param index</em>
<a name="398" href="#398">398</a> <em class="jxr_javadoccomment">     *  The position of the array to start the Cursor at</em>
<a name="399" href="#399">399</a> <em class="jxr_javadoccomment">     * @param listener</em>
<a name="400" href="#400">400</a> <em class="jxr_javadoccomment">     *  The listener for the Cursor that is returned</em>
<a name="401" href="#401">401</a> <em class="jxr_javadoccomment">     */</em>
<a name="402" href="#402">402</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a> cursor( <strong class="jxr_keyword">int</strong> index, CursorListener listener )
<a name="403" href="#403">403</a>     {
<a name="404" href="#404">404</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( index, listener );
<a name="405" href="#405">405</a>     }
<a name="406" href="#406">406</a> 
<a name="407" href="#407">407</a> 
<a name="408" href="#408">408</a>     <em class="jxr_javadoccomment">/**</em>
<a name="409" href="#409">409</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="410" href="#410">410</a> <em class="jxr_javadoccomment">     */</em>
<a name="411" href="#411">411</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> slice( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> length )
<a name="412" href="#412">412</a>     {
<a name="413" href="#413">413</a>         <strong class="jxr_keyword">return</strong> cursor( index ).slice( length );
<a name="414" href="#414">414</a>     }
<a name="415" href="#415">415</a> 
<a name="416" href="#416">416</a> 
<a name="417" href="#417">417</a>     <em class="jxr_javadoccomment">/**</em>
<a name="418" href="#418">418</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="419" href="#419">419</a> <em class="jxr_javadoccomment">     */</em>
<a name="420" href="#420">420</a>     <strong class="jxr_keyword">public</strong> byte get( <strong class="jxr_keyword">int</strong> index )
<a name="421" href="#421">421</a>     {
<a name="422" href="#422">422</a>         <strong class="jxr_keyword">return</strong> cursor( index ).get();
<a name="423" href="#423">423</a>     }
<a name="424" href="#424">424</a> 
<a name="425" href="#425">425</a> 
<a name="426" href="#426">426</a>     <em class="jxr_javadoccomment">/**</em>
<a name="427" href="#427">427</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="428" href="#428">428</a> <em class="jxr_javadoccomment">     */</em>
<a name="429" href="#429">429</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> put( <strong class="jxr_keyword">int</strong> index, byte b )
<a name="430" href="#430">430</a>     {
<a name="431" href="#431">431</a>         cursor( index ).put( b );
<a name="432" href="#432">432</a>     }
<a name="433" href="#433">433</a> 
<a name="434" href="#434">434</a> 
<a name="435" href="#435">435</a>     <em class="jxr_javadoccomment">/**</em>
<a name="436" href="#436">436</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="437" href="#437">437</a> <em class="jxr_javadoccomment">     */</em>
<a name="438" href="#438">438</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> get( <strong class="jxr_keyword">int</strong> index, IoBuffer bb )
<a name="439" href="#439">439</a>     {
<a name="440" href="#440">440</a>         cursor( index ).get( bb );
<a name="441" href="#441">441</a>     }
<a name="442" href="#442">442</a> 
<a name="443" href="#443">443</a> 
<a name="444" href="#444">444</a>     <em class="jxr_javadoccomment">/**</em>
<a name="445" href="#445">445</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="446" href="#446">446</a> <em class="jxr_javadoccomment">     */</em>
<a name="447" href="#447">447</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> put( <strong class="jxr_keyword">int</strong> index, IoBuffer bb )
<a name="448" href="#448">448</a>     {
<a name="449" href="#449">449</a>         cursor( index ).put( bb );
<a name="450" href="#450">450</a>     }
<a name="451" href="#451">451</a> 
<a name="452" href="#452">452</a> 
<a name="453" href="#453">453</a>     <em class="jxr_javadoccomment">/**</em>
<a name="454" href="#454">454</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="455" href="#455">455</a> <em class="jxr_javadoccomment">     */</em>
<a name="456" href="#456">456</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> first()
<a name="457" href="#457">457</a>     {
<a name="458" href="#458">458</a>         <strong class="jxr_keyword">return</strong> bas.firstByte();
<a name="459" href="#459">459</a>     }
<a name="460" href="#460">460</a> 
<a name="461" href="#461">461</a> 
<a name="462" href="#462">462</a>     <em class="jxr_javadoccomment">/**</em>
<a name="463" href="#463">463</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="464" href="#464">464</a> <em class="jxr_javadoccomment">     */</em>
<a name="465" href="#465">465</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> last()
<a name="466" href="#466">466</a>     {
<a name="467" href="#467">467</a>         <strong class="jxr_keyword">return</strong> bas.lastByte();
<a name="468" href="#468">468</a>     }
<a name="469" href="#469">469</a> 
<a name="470" href="#470">470</a> 
<a name="471" href="#471">471</a>     <em class="jxr_javadoccomment">/**</em>
<a name="472" href="#472">472</a> <em class="jxr_javadoccomment">     * This method should be called prior to adding any component</em>
<a name="473" href="#473">473</a> <em class="jxr_javadoccomment">     * &lt;code&gt;ByteArray&lt;/code&gt; to a composite.</em>
<a name="474" href="#474">474</a> <em class="jxr_javadoccomment">     *</em>
<a name="475" href="#475">475</a> <em class="jxr_javadoccomment">     * @param ba</em>
<a name="476" href="#476">476</a> <em class="jxr_javadoccomment">     *  The component to add.</em>
<a name="477" href="#477">477</a> <em class="jxr_javadoccomment">     */</em>
<a name="478" href="#478">478</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> addHook( ByteArray ba )
<a name="479" href="#479">479</a>     {
<a name="480" href="#480">480</a>         <em class="jxr_comment">// Check first() is zero, otherwise cursor might not work.</em>
<a name="481" href="#481">481</a>         <em class="jxr_comment">// TODO: Remove this restriction?</em>
<a name="482" href="#482">482</a>         <strong class="jxr_keyword">if</strong> ( ba.first() != 0 )
<a name="483" href="#483">483</a>         {
<a name="484" href="#484">484</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( <span class="jxr_string">"Cannot add byte array that doesn't start from 0: "</span> + ba.first() );
<a name="485" href="#485">485</a>         }
<a name="486" href="#486">486</a>         <em class="jxr_comment">// Check order.</em>
<a name="487" href="#487">487</a>         <strong class="jxr_keyword">if</strong> ( order == <strong class="jxr_keyword">null</strong> )
<a name="488" href="#488">488</a>         {
<a name="489" href="#489">489</a>             order = ba.order();
<a name="490" href="#490">490</a>         }
<a name="491" href="#491">491</a>         <strong class="jxr_keyword">else</strong> <strong class="jxr_keyword">if</strong> ( !order.equals( ba.order() ) )
<a name="492" href="#492">492</a>         {
<a name="493" href="#493">493</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException( <span class="jxr_string">"Cannot add byte array with different byte order: "</span> + ba.order() );
<a name="494" href="#494">494</a>         }
<a name="495" href="#495">495</a>     }
<a name="496" href="#496">496</a> 
<a name="497" href="#497">497</a> 
<a name="498" href="#498">498</a>     <em class="jxr_javadoccomment">/**</em>
<a name="499" href="#499">499</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="500" href="#500">500</a> <em class="jxr_javadoccomment">     */</em>
<a name="501" href="#501">501</a>     <strong class="jxr_keyword">public</strong> ByteOrder order()
<a name="502" href="#502">502</a>     {
<a name="503" href="#503">503</a>         <strong class="jxr_keyword">if</strong> ( order == <strong class="jxr_keyword">null</strong> )
<a name="504" href="#504">504</a>         {
<a name="505" href="#505">505</a>             <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalStateException( <span class="jxr_string">"Byte order not yet set."</span> );
<a name="506" href="#506">506</a>         }
<a name="507" href="#507">507</a>         <strong class="jxr_keyword">return</strong> order;
<a name="508" href="#508">508</a>     }
<a name="509" href="#509">509</a> 
<a name="510" href="#510">510</a> 
<a name="511" href="#511">511</a>     <em class="jxr_javadoccomment">/**</em>
<a name="512" href="#512">512</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="513" href="#513">513</a> <em class="jxr_javadoccomment">     */</em>
<a name="514" href="#514">514</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> order( ByteOrder order )
<a name="515" href="#515">515</a>     {
<a name="516" href="#516">516</a>         <strong class="jxr_keyword">if</strong> ( order == <strong class="jxr_keyword">null</strong> || !order.equals( <strong class="jxr_keyword">this</strong>.order ) )
<a name="517" href="#517">517</a>         {
<a name="518" href="#518">518</a>             <strong class="jxr_keyword">this</strong>.order = order;
<a name="519" href="#519">519</a>             <strong class="jxr_keyword">if</strong> ( !bas.isEmpty() )
<a name="520" href="#520">520</a>             {
<a name="521" href="#521">521</a>                 <strong class="jxr_keyword">for</strong> ( Node node = bas.getFirst(); node.hasNextNode(); node = node.getNextNode() )
<a name="522" href="#522">522</a>                 {
<a name="523" href="#523">523</a>                     node.getByteArray().order( order );
<a name="524" href="#524">524</a>                 }
<a name="525" href="#525">525</a>             }
<a name="526" href="#526">526</a>         }
<a name="527" href="#527">527</a>     }
<a name="528" href="#528">528</a> 
<a name="529" href="#529">529</a> 
<a name="530" href="#530">530</a>     <em class="jxr_javadoccomment">/**</em>
<a name="531" href="#531">531</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="532" href="#532">532</a> <em class="jxr_javadoccomment">     */</em>
<a name="533" href="#533">533</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">short</strong> getShort( <strong class="jxr_keyword">int</strong> index )
<a name="534" href="#534">534</a>     {
<a name="535" href="#535">535</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getShort();
<a name="536" href="#536">536</a>     }
<a name="537" href="#537">537</a> 
<a name="538" href="#538">538</a> 
<a name="539" href="#539">539</a>     <em class="jxr_javadoccomment">/**</em>
<a name="540" href="#540">540</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="541" href="#541">541</a> <em class="jxr_javadoccomment">     */</em>
<a name="542" href="#542">542</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putShort( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">short</strong> s )
<a name="543" href="#543">543</a>     {
<a name="544" href="#544">544</a>         cursor( index ).putShort( s );
<a name="545" href="#545">545</a>     }
<a name="546" href="#546">546</a> 
<a name="547" href="#547">547</a> 
<a name="548" href="#548">548</a>     <em class="jxr_javadoccomment">/**</em>
<a name="549" href="#549">549</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="550" href="#550">550</a> <em class="jxr_javadoccomment">     */</em>
<a name="551" href="#551">551</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getInt( <strong class="jxr_keyword">int</strong> index )
<a name="552" href="#552">552</a>     {
<a name="553" href="#553">553</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getInt();
<a name="554" href="#554">554</a>     }
<a name="555" href="#555">555</a> 
<a name="556" href="#556">556</a> 
<a name="557" href="#557">557</a>     <em class="jxr_javadoccomment">/**</em>
<a name="558" href="#558">558</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="559" href="#559">559</a> <em class="jxr_javadoccomment">     */</em>
<a name="560" href="#560">560</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putInt( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">int</strong> i )
<a name="561" href="#561">561</a>     {
<a name="562" href="#562">562</a>         cursor( index ).putInt( i );
<a name="563" href="#563">563</a>     }
<a name="564" href="#564">564</a> 
<a name="565" href="#565">565</a> 
<a name="566" href="#566">566</a>     <em class="jxr_javadoccomment">/**</em>
<a name="567" href="#567">567</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="568" href="#568">568</a> <em class="jxr_javadoccomment">     */</em>
<a name="569" href="#569">569</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getLong( <strong class="jxr_keyword">int</strong> index )
<a name="570" href="#570">570</a>     {
<a name="571" href="#571">571</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getLong();
<a name="572" href="#572">572</a>     }
<a name="573" href="#573">573</a> 
<a name="574" href="#574">574</a> 
<a name="575" href="#575">575</a>     <em class="jxr_javadoccomment">/**</em>
<a name="576" href="#576">576</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="577" href="#577">577</a> <em class="jxr_javadoccomment">     */</em>
<a name="578" href="#578">578</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putLong( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">long</strong> l )
<a name="579" href="#579">579</a>     {
<a name="580" href="#580">580</a>         cursor( index ).putLong( l );
<a name="581" href="#581">581</a>     }
<a name="582" href="#582">582</a> 
<a name="583" href="#583">583</a> 
<a name="584" href="#584">584</a>     <em class="jxr_javadoccomment">/**</em>
<a name="585" href="#585">585</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="586" href="#586">586</a> <em class="jxr_javadoccomment">     */</em>
<a name="587" href="#587">587</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">float</strong> getFloat( <strong class="jxr_keyword">int</strong> index )
<a name="588" href="#588">588</a>     {
<a name="589" href="#589">589</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getFloat();
<a name="590" href="#590">590</a>     }
<a name="591" href="#591">591</a> 
<a name="592" href="#592">592</a> 
<a name="593" href="#593">593</a>     <em class="jxr_javadoccomment">/**</em>
<a name="594" href="#594">594</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="595" href="#595">595</a> <em class="jxr_javadoccomment">     */</em>
<a name="596" href="#596">596</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putFloat( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">float</strong> f )
<a name="597" href="#597">597</a>     {
<a name="598" href="#598">598</a>         cursor( index ).putFloat( f );
<a name="599" href="#599">599</a>     }
<a name="600" href="#600">600</a> 
<a name="601" href="#601">601</a> 
<a name="602" href="#602">602</a>     <em class="jxr_javadoccomment">/**</em>
<a name="603" href="#603">603</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="604" href="#604">604</a> <em class="jxr_javadoccomment">     */</em>
<a name="605" href="#605">605</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">double</strong> getDouble( <strong class="jxr_keyword">int</strong> index )
<a name="606" href="#606">606</a>     {
<a name="607" href="#607">607</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getDouble();
<a name="608" href="#608">608</a>     }
<a name="609" href="#609">609</a> 
<a name="610" href="#610">610</a> 
<a name="611" href="#611">611</a>     <em class="jxr_javadoccomment">/**</em>
<a name="612" href="#612">612</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="613" href="#613">613</a> <em class="jxr_javadoccomment">     */</em>
<a name="614" href="#614">614</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putDouble( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">double</strong> d )
<a name="615" href="#615">615</a>     {
<a name="616" href="#616">616</a>         cursor( index ).putDouble( d );
<a name="617" href="#617">617</a>     }
<a name="618" href="#618">618</a> 
<a name="619" href="#619">619</a> 
<a name="620" href="#620">620</a>     <em class="jxr_javadoccomment">/**</em>
<a name="621" href="#621">621</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="622" href="#622">622</a> <em class="jxr_javadoccomment">     */</em>
<a name="623" href="#623">623</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">char</strong> getChar( <strong class="jxr_keyword">int</strong> index )
<a name="624" href="#624">624</a>     {
<a name="625" href="#625">625</a>         <strong class="jxr_keyword">return</strong> cursor( index ).getChar();
<a name="626" href="#626">626</a>     }
<a name="627" href="#627">627</a> 
<a name="628" href="#628">628</a> 
<a name="629" href="#629">629</a>     <em class="jxr_javadoccomment">/**</em>
<a name="630" href="#630">630</a> <em class="jxr_javadoccomment">     * @inheritDoc</em>
<a name="631" href="#631">631</a> <em class="jxr_javadoccomment">     */</em>
<a name="632" href="#632">632</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putChar( <strong class="jxr_keyword">int</strong> index, <strong class="jxr_keyword">char</strong> c )
<a name="633" href="#633">633</a>     {
<a name="634" href="#634">634</a>         cursor( index ).putChar( c );
<a name="635" href="#635">635</a>     }
<a name="636" href="#636">636</a> 
<a name="637" href="#637">637</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a> implements <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">Cursor</a>
<a name="638" href="#638">638</a>     {
<a name="639" href="#639">639</a> 
<a name="640" href="#640">640</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> index;
<a name="641" href="#641">641</a> 
<a name="642" href="#642">642</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorListener</a> listener;
<a name="643" href="#643">643</a> 
<a name="644" href="#644">644</a>         <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> componentNode;
<a name="645" href="#645">645</a> 
<a name="646" href="#646">646</a>         <em class="jxr_comment">// Index of start of current component.</em>
<a name="647" href="#647">647</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> componentIndex;
<a name="648" href="#648">648</a> 
<a name="649" href="#649">649</a>         <em class="jxr_comment">// Cursor within current component.</em>
<a name="650" href="#650">650</a>         <strong class="jxr_keyword">private</strong> ByteArray.Cursor componentCursor;
<a name="651" href="#651">651</a> 
<a name="652" href="#652">652</a> 
<a name="653" href="#653">653</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>()
<a name="654" href="#654">654</a>         {
<a name="655" href="#655">655</a>             <strong class="jxr_keyword">this</strong>( 0, <strong class="jxr_keyword">null</strong> );
<a name="656" href="#656">656</a>         }
<a name="657" href="#657">657</a> 
<a name="658" href="#658">658</a> 
<a name="659" href="#659">659</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( <strong class="jxr_keyword">int</strong> index )
<a name="660" href="#660">660</a>         {
<a name="661" href="#661">661</a>             <strong class="jxr_keyword">this</strong>( index, <strong class="jxr_keyword">null</strong> );
<a name="662" href="#662">662</a>         }
<a name="663" href="#663">663</a> 
<a name="664" href="#664">664</a> 
<a name="665" href="#665">665</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( CursorListener listener )
<a name="666" href="#666">666</a>         {
<a name="667" href="#667">667</a>             <strong class="jxr_keyword">this</strong>( 0, listener );
<a name="668" href="#668">668</a>         }
<a name="669" href="#669">669</a> 
<a name="670" href="#670">670</a> 
<a name="671" href="#671">671</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CursorImpl</a>( <strong class="jxr_keyword">int</strong> index, CursorListener listener )
<a name="672" href="#672">672</a>         {
<a name="673" href="#673">673</a>             <strong class="jxr_keyword">this</strong>.index = index;
<a name="674" href="#674">674</a>             <strong class="jxr_keyword">this</strong>.listener = listener;
<a name="675" href="#675">675</a>         }
<a name="676" href="#676">676</a> 
<a name="677" href="#677">677</a> 
<a name="678" href="#678">678</a>         <em class="jxr_javadoccomment">/**</em>
<a name="679" href="#679">679</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="680" href="#680">680</a> <em class="jxr_javadoccomment">         */</em>
<a name="681" href="#681">681</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getIndex()
<a name="682" href="#682">682</a>         {
<a name="683" href="#683">683</a>             <strong class="jxr_keyword">return</strong> index;
<a name="684" href="#684">684</a>         }
<a name="685" href="#685">685</a> 
<a name="686" href="#686">686</a> 
<a name="687" href="#687">687</a>         <em class="jxr_javadoccomment">/**</em>
<a name="688" href="#688">688</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="689" href="#689">689</a> <em class="jxr_javadoccomment">         */</em>
<a name="690" href="#690">690</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setIndex( <strong class="jxr_keyword">int</strong> index )
<a name="691" href="#691">691</a>         {
<a name="692" href="#692">692</a>             checkBounds( index, 0 );
<a name="693" href="#693">693</a>             <strong class="jxr_keyword">this</strong>.index = index;
<a name="694" href="#694">694</a>         }
<a name="695" href="#695">695</a> 
<a name="696" href="#696">696</a> 
<a name="697" href="#697">697</a>         <em class="jxr_javadoccomment">/**</em>
<a name="698" href="#698">698</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="699" href="#699">699</a> <em class="jxr_javadoccomment">         */</em>
<a name="700" href="#700">700</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> skip( <strong class="jxr_keyword">int</strong> length )
<a name="701" href="#701">701</a>         {
<a name="702" href="#702">702</a>             setIndex( index + length );
<a name="703" href="#703">703</a>         }
<a name="704" href="#704">704</a> 
<a name="705" href="#705">705</a> 
<a name="706" href="#706">706</a>         <em class="jxr_javadoccomment">/**</em>
<a name="707" href="#707">707</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="708" href="#708">708</a> <em class="jxr_javadoccomment">         */</em>
<a name="709" href="#709">709</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> slice( <strong class="jxr_keyword">int</strong> length )
<a name="710" href="#710">710</a>         {
<a name="711" href="#711">711</a>             <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a> slice = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/util/byteaccess/CompositeByteArray.html">CompositeByteArray</a>( byteArrayFactory );
<a name="712" href="#712">712</a>             <strong class="jxr_keyword">int</strong> remaining = length;
<a name="713" href="#713">713</a>             <strong class="jxr_keyword">while</strong> ( remaining &gt; 0 )
<a name="714" href="#714">714</a>             {
<a name="715" href="#715">715</a>                 prepareForAccess( remaining );
<a name="716" href="#716">716</a>                 <strong class="jxr_keyword">int</strong> componentSliceSize = Math.min( remaining, componentCursor.getRemaining() );
<a name="717" href="#717">717</a>                 <a href="../../../../../org/apache/mina/util/byteaccess/ByteArray.html">ByteArray</a> componentSlice = componentCursor.slice( componentSliceSize );
<a name="718" href="#718">718</a>                 slice.addLast( componentSlice );
<a name="719" href="#719">719</a>                 index += componentSliceSize;
<a name="720" href="#720">720</a>                 remaining -= componentSliceSize;
<a name="721" href="#721">721</a>             }
<a name="722" href="#722">722</a>             <strong class="jxr_keyword">return</strong> slice;
<a name="723" href="#723">723</a>         }
<a name="724" href="#724">724</a> 
<a name="725" href="#725">725</a> 
<a name="726" href="#726">726</a>         <em class="jxr_javadoccomment">/**</em>
<a name="727" href="#727">727</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="728" href="#728">728</a> <em class="jxr_javadoccomment">         */</em>
<a name="729" href="#729">729</a>         <strong class="jxr_keyword">public</strong> ByteOrder order()
<a name="730" href="#730">730</a>         {
<a name="731" href="#731">731</a>             <strong class="jxr_keyword">return</strong> CompositeByteArray.<strong class="jxr_keyword">this</strong>.order();
<a name="732" href="#732">732</a>         }
<a name="733" href="#733">733</a> 
<a name="734" href="#734">734</a> 
<a name="735" href="#735">735</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> prepareForAccess( <strong class="jxr_keyword">int</strong> accessSize )
<a name="736" href="#736">736</a>         {
<a name="737" href="#737">737</a>             <em class="jxr_comment">// Handle removed node. Do this first so we can remove the reference</em>
<a name="738" href="#738">738</a>             <em class="jxr_comment">// even if bounds checking fails.</em>
<a name="739" href="#739">739</a>             <strong class="jxr_keyword">if</strong> ( componentNode != <strong class="jxr_keyword">null</strong> &amp;&amp; componentNode.isRemoved() )
<a name="740" href="#740">740</a>             {
<a name="741" href="#741">741</a>                 componentNode = <strong class="jxr_keyword">null</strong>;
<a name="742" href="#742">742</a>                 componentCursor = <strong class="jxr_keyword">null</strong>;
<a name="743" href="#743">743</a>             }
<a name="744" href="#744">744</a> 
<a name="745" href="#745">745</a>             <em class="jxr_comment">// Bounds checks</em>
<a name="746" href="#746">746</a>             checkBounds( index, accessSize );
<a name="747" href="#747">747</a> 
<a name="748" href="#748">748</a>             <em class="jxr_comment">// Remember the current node so we can later tell whether or not we</em>
<a name="749" href="#749">749</a>             <em class="jxr_comment">// need to create a new cursor.</em>
<a name="750" href="#750">750</a>             <a href="../../../../../org/apache/mina/util/byteaccess/ByteArrayList.html">Node</a> oldComponentNode = componentNode;
<a name="751" href="#751">751</a> 
<a name="752" href="#752">752</a>             <em class="jxr_comment">// Handle missing node.</em>
<a name="753" href="#753">753</a>             <strong class="jxr_keyword">if</strong> ( componentNode == <strong class="jxr_keyword">null</strong> )
<a name="754" href="#754">754</a>             {
<a name="755" href="#755">755</a>                 <strong class="jxr_keyword">int</strong> basMidpoint = ( last() - first() ) / 2 + first();
<a name="756" href="#756">756</a>                 <strong class="jxr_keyword">if</strong> ( index &lt;= basMidpoint )
<a name="757" href="#757">757</a>                 {
<a name="758" href="#758">758</a>                     <em class="jxr_comment">// Search from the start.</em>
<a name="759" href="#759">759</a>                     componentNode = bas.getFirst();
<a name="760" href="#760">760</a>                     componentIndex = first();
<a name="761" href="#761">761</a>                     <strong class="jxr_keyword">if</strong> ( listener != <strong class="jxr_keyword">null</strong> )
<a name="762" href="#762">762</a>                     {
<a name="763" href="#763">763</a>                         listener.enteredFirstComponent( componentIndex, componentNode.getByteArray() );
<a name="764" href="#764">764</a>                     }
<a name="765" href="#765">765</a>                 }
<a name="766" href="#766">766</a>                 <strong class="jxr_keyword">else</strong>
<a name="767" href="#767">767</a>                 {
<a name="768" href="#768">768</a>                     <em class="jxr_comment">// Search from the end.</em>
<a name="769" href="#769">769</a>                     componentNode = bas.getLast();
<a name="770" href="#770">770</a>                     componentIndex = last() - componentNode.getByteArray().last();
<a name="771" href="#771">771</a>                     <strong class="jxr_keyword">if</strong> ( listener != <strong class="jxr_keyword">null</strong> )
<a name="772" href="#772">772</a>                     {
<a name="773" href="#773">773</a>                         listener.enteredLastComponent( componentIndex, componentNode.getByteArray() );
<a name="774" href="#774">774</a>                     }
<a name="775" href="#775">775</a>                 }
<a name="776" href="#776">776</a>             }
<a name="777" href="#777">777</a> 
<a name="778" href="#778">778</a>             <em class="jxr_comment">// Go back, if necessary.</em>
<a name="779" href="#779">779</a>             <strong class="jxr_keyword">while</strong> ( index &lt; componentIndex )
<a name="780" href="#780">780</a>             {
<a name="781" href="#781">781</a>                 componentNode = componentNode.getPreviousNode();
<a name="782" href="#782">782</a>                 componentIndex -= componentNode.getByteArray().last();
<a name="783" href="#783">783</a>                 <strong class="jxr_keyword">if</strong> ( listener != <strong class="jxr_keyword">null</strong> )
<a name="784" href="#784">784</a>                 {
<a name="785" href="#785">785</a>                     listener.enteredPreviousComponent( componentIndex, componentNode.getByteArray() );
<a name="786" href="#786">786</a>                 }
<a name="787" href="#787">787</a>             }
<a name="788" href="#788">788</a> 
<a name="789" href="#789">789</a>             <em class="jxr_comment">// Go forward, if necessary.</em>
<a name="790" href="#790">790</a>             <strong class="jxr_keyword">while</strong> ( index &gt;= componentIndex + componentNode.getByteArray().length() )
<a name="791" href="#791">791</a>             {
<a name="792" href="#792">792</a>                 componentIndex += componentNode.getByteArray().last();
<a name="793" href="#793">793</a>                 componentNode = componentNode.getNextNode();
<a name="794" href="#794">794</a>                 <strong class="jxr_keyword">if</strong> ( listener != <strong class="jxr_keyword">null</strong> )
<a name="795" href="#795">795</a>                 {
<a name="796" href="#796">796</a>                     listener.enteredNextComponent( componentIndex, componentNode.getByteArray() );
<a name="797" href="#797">797</a>                 }
<a name="798" href="#798">798</a>             }
<a name="799" href="#799">799</a> 
<a name="800" href="#800">800</a>             <em class="jxr_comment">// Update the cursor.</em>
<a name="801" href="#801">801</a>             <strong class="jxr_keyword">int</strong> internalComponentIndex = index - componentIndex;
<a name="802" href="#802">802</a>             <strong class="jxr_keyword">if</strong> ( componentNode == oldComponentNode )
<a name="803" href="#803">803</a>             {
<a name="804" href="#804">804</a>                 <em class="jxr_comment">// Move existing cursor.</em>
<a name="805" href="#805">805</a>                 componentCursor.setIndex( internalComponentIndex );
<a name="806" href="#806">806</a>             }
<a name="807" href="#807">807</a>             <strong class="jxr_keyword">else</strong>
<a name="808" href="#808">808</a>             {
<a name="809" href="#809">809</a>                 <em class="jxr_comment">// Create new cursor.</em>
<a name="810" href="#810">810</a>                 componentCursor = componentNode.getByteArray().cursor( internalComponentIndex );
<a name="811" href="#811">811</a>             }
<a name="812" href="#812">812</a>         }
<a name="813" href="#813">813</a> 
<a name="814" href="#814">814</a> 
<a name="815" href="#815">815</a>         <em class="jxr_javadoccomment">/**</em>
<a name="816" href="#816">816</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="817" href="#817">817</a> <em class="jxr_javadoccomment">         */</em>
<a name="818" href="#818">818</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getRemaining()
<a name="819" href="#819">819</a>         {
<a name="820" href="#820">820</a>             <strong class="jxr_keyword">return</strong> last() - index + 1;
<a name="821" href="#821">821</a>         }
<a name="822" href="#822">822</a> 
<a name="823" href="#823">823</a> 
<a name="824" href="#824">824</a>         <em class="jxr_javadoccomment">/**</em>
<a name="825" href="#825">825</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="826" href="#826">826</a> <em class="jxr_javadoccomment">         */</em>
<a name="827" href="#827">827</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> hasRemaining()
<a name="828" href="#828">828</a>         {
<a name="829" href="#829">829</a>             <strong class="jxr_keyword">return</strong> getRemaining() &gt; 0;
<a name="830" href="#830">830</a>         }
<a name="831" href="#831">831</a> 
<a name="832" href="#832">832</a> 
<a name="833" href="#833">833</a>         <em class="jxr_javadoccomment">/**</em>
<a name="834" href="#834">834</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="835" href="#835">835</a> <em class="jxr_javadoccomment">         */</em>
<a name="836" href="#836">836</a>         <strong class="jxr_keyword">public</strong> byte get()
<a name="837" href="#837">837</a>         {
<a name="838" href="#838">838</a>             prepareForAccess( 1 );
<a name="839" href="#839">839</a>             byte b = componentCursor.get();
<a name="840" href="#840">840</a>             index += 1;
<a name="841" href="#841">841</a>             <strong class="jxr_keyword">return</strong> b;
<a name="842" href="#842">842</a>         }
<a name="843" href="#843">843</a> 
<a name="844" href="#844">844</a> 
<a name="845" href="#845">845</a>         <em class="jxr_javadoccomment">/**</em>
<a name="846" href="#846">846</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="847" href="#847">847</a> <em class="jxr_javadoccomment">         */</em>
<a name="848" href="#848">848</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> put( byte b )
<a name="849" href="#849">849</a>         {
<a name="850" href="#850">850</a>             prepareForAccess( 1 );
<a name="851" href="#851">851</a>             componentCursor.put( b );
<a name="852" href="#852">852</a>             index += 1;
<a name="853" href="#853">853</a>         }
<a name="854" href="#854">854</a> 
<a name="855" href="#855">855</a> 
<a name="856" href="#856">856</a>         <em class="jxr_javadoccomment">/**</em>
<a name="857" href="#857">857</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="858" href="#858">858</a> <em class="jxr_javadoccomment">         */</em>
<a name="859" href="#859">859</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> get( IoBuffer bb )
<a name="860" href="#860">860</a>         {
<a name="861" href="#861">861</a>             <strong class="jxr_keyword">while</strong> ( bb.hasRemaining() )
<a name="862" href="#862">862</a>             {
<a name="863" href="#863">863</a>                 <strong class="jxr_keyword">int</strong> remainingBefore = bb.remaining();
<a name="864" href="#864">864</a>                 prepareForAccess( remainingBefore );
<a name="865" href="#865">865</a>                 componentCursor.get( bb );
<a name="866" href="#866">866</a>                 <strong class="jxr_keyword">int</strong> remainingAfter = bb.remaining();
<a name="867" href="#867">867</a>                 <em class="jxr_comment">// Advance index by actual amount got.</em>
<a name="868" href="#868">868</a>                 <strong class="jxr_keyword">int</strong> chunkSize = remainingBefore - remainingAfter;
<a name="869" href="#869">869</a>                 index += chunkSize;
<a name="870" href="#870">870</a>             }
<a name="871" href="#871">871</a>         }
<a name="872" href="#872">872</a> 
<a name="873" href="#873">873</a> 
<a name="874" href="#874">874</a>         <em class="jxr_javadoccomment">/**</em>
<a name="875" href="#875">875</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="876" href="#876">876</a> <em class="jxr_javadoccomment">         */</em>
<a name="877" href="#877">877</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> put( IoBuffer bb )
<a name="878" href="#878">878</a>         {
<a name="879" href="#879">879</a>             <strong class="jxr_keyword">while</strong> ( bb.hasRemaining() )
<a name="880" href="#880">880</a>             {
<a name="881" href="#881">881</a>                 <strong class="jxr_keyword">int</strong> remainingBefore = bb.remaining();
<a name="882" href="#882">882</a>                 prepareForAccess( remainingBefore );
<a name="883" href="#883">883</a>                 componentCursor.put( bb );
<a name="884" href="#884">884</a>                 <strong class="jxr_keyword">int</strong> remainingAfter = bb.remaining();
<a name="885" href="#885">885</a>                 <em class="jxr_comment">// Advance index by actual amount put.</em>
<a name="886" href="#886">886</a>                 <strong class="jxr_keyword">int</strong> chunkSize = remainingBefore - remainingAfter;
<a name="887" href="#887">887</a>                 index += chunkSize;
<a name="888" href="#888">888</a>             }
<a name="889" href="#889">889</a>         }
<a name="890" href="#890">890</a> 
<a name="891" href="#891">891</a> 
<a name="892" href="#892">892</a>         <em class="jxr_javadoccomment">/**</em>
<a name="893" href="#893">893</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="894" href="#894">894</a> <em class="jxr_javadoccomment">         */</em>
<a name="895" href="#895">895</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">short</strong> getShort()
<a name="896" href="#896">896</a>         {
<a name="897" href="#897">897</a>             prepareForAccess( 2 );
<a name="898" href="#898">898</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="899" href="#899">899</a>             {
<a name="900" href="#900">900</a>                 <strong class="jxr_keyword">short</strong> s = componentCursor.getShort();
<a name="901" href="#901">901</a>                 index += 2;
<a name="902" href="#902">902</a>                 <strong class="jxr_keyword">return</strong> s;
<a name="903" href="#903">903</a>             }
<a name="904" href="#904">904</a>             <strong class="jxr_keyword">else</strong>
<a name="905" href="#905">905</a>             {
<a name="906" href="#906">906</a>                 byte b0 = get();
<a name="907" href="#907">907</a>                 byte b1 = get();
<a name="908" href="#908">908</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="909" href="#909">909</a>                 {
<a name="910" href="#910">910</a>                     <strong class="jxr_keyword">return</strong> ( <strong class="jxr_keyword">short</strong> ) ( ( b0 &lt;&lt; 8 ) | ( b1 &lt;&lt; 0 ) );
<a name="911" href="#911">911</a>                 }
<a name="912" href="#912">912</a>                 <strong class="jxr_keyword">else</strong>
<a name="913" href="#913">913</a>                 {
<a name="914" href="#914">914</a>                     <strong class="jxr_keyword">return</strong> ( <strong class="jxr_keyword">short</strong> ) ( ( b1 &lt;&lt; 8 ) | ( b0 &lt;&lt; 0 ) );
<a name="915" href="#915">915</a>                 }
<a name="916" href="#916">916</a>             }
<a name="917" href="#917">917</a>         }
<a name="918" href="#918">918</a> 
<a name="919" href="#919">919</a> 
<a name="920" href="#920">920</a>         <em class="jxr_javadoccomment">/**</em>
<a name="921" href="#921">921</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="922" href="#922">922</a> <em class="jxr_javadoccomment">         */</em>
<a name="923" href="#923">923</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putShort( <strong class="jxr_keyword">short</strong> s )
<a name="924" href="#924">924</a>         {
<a name="925" href="#925">925</a>             prepareForAccess( 2 );
<a name="926" href="#926">926</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="927" href="#927">927</a>             {
<a name="928" href="#928">928</a>                 componentCursor.putShort( s );
<a name="929" href="#929">929</a>                 index += 2;
<a name="930" href="#930">930</a>             }
<a name="931" href="#931">931</a>             <strong class="jxr_keyword">else</strong>
<a name="932" href="#932">932</a>             {
<a name="933" href="#933">933</a>                 byte b0;
<a name="934" href="#934">934</a>                 byte b1;
<a name="935" href="#935">935</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="936" href="#936">936</a>                 {
<a name="937" href="#937">937</a>                     b0 = ( byte ) ( ( s &gt;&gt; 8 ) &amp; 0xff );
<a name="938" href="#938">938</a>                     b1 = ( byte ) ( ( s &gt;&gt; 0 ) &amp; 0xff );
<a name="939" href="#939">939</a>                 }
<a name="940" href="#940">940</a>                 <strong class="jxr_keyword">else</strong>
<a name="941" href="#941">941</a>                 {
<a name="942" href="#942">942</a>                     b0 = ( byte ) ( ( s &gt;&gt; 0 ) &amp; 0xff );
<a name="943" href="#943">943</a>                     b1 = ( byte ) ( ( s &gt;&gt; 8 ) &amp; 0xff );
<a name="944" href="#944">944</a>                 }
<a name="945" href="#945">945</a>                 put( b0 );
<a name="946" href="#946">946</a>                 put( b1 );
<a name="947" href="#947">947</a>             }
<a name="948" href="#948">948</a>         }
<a name="949" href="#949">949</a> 
<a name="950" href="#950">950</a> 
<a name="951" href="#951">951</a>         <em class="jxr_javadoccomment">/**</em>
<a name="952" href="#952">952</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="953" href="#953">953</a> <em class="jxr_javadoccomment">         */</em>
<a name="954" href="#954">954</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getInt()
<a name="955" href="#955">955</a>         {
<a name="956" href="#956">956</a>             prepareForAccess( 4 );
<a name="957" href="#957">957</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="958" href="#958">958</a>             {
<a name="959" href="#959">959</a>                 <strong class="jxr_keyword">int</strong> i = componentCursor.getInt();
<a name="960" href="#960">960</a>                 index += 4;
<a name="961" href="#961">961</a>                 <strong class="jxr_keyword">return</strong> i;
<a name="962" href="#962">962</a>             }
<a name="963" href="#963">963</a>             <strong class="jxr_keyword">else</strong>
<a name="964" href="#964">964</a>             {
<a name="965" href="#965">965</a>                 byte b0 = get();
<a name="966" href="#966">966</a>                 byte b1 = get();
<a name="967" href="#967">967</a>                 byte b2 = get();
<a name="968" href="#968">968</a>                 byte b3 = get();
<a name="969" href="#969">969</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="970" href="#970">970</a>                 {
<a name="971" href="#971">971</a>                     <strong class="jxr_keyword">return</strong> ( ( b0 &lt;&lt; 24 ) | ( b1 &lt;&lt; 16 ) | ( b2 &lt;&lt; 8 ) | ( b3 &lt;&lt; 0 ) );
<a name="972" href="#972">972</a>                 }
<a name="973" href="#973">973</a>                 <strong class="jxr_keyword">else</strong>
<a name="974" href="#974">974</a>                 {
<a name="975" href="#975">975</a>                     <strong class="jxr_keyword">return</strong> ( ( b3 &lt;&lt; 24 ) | ( b2 &lt;&lt; 16 ) | ( b1 &lt;&lt; 8 ) | ( b0 &lt;&lt; 0 ) );
<a name="976" href="#976">976</a>                 }
<a name="977" href="#977">977</a>             }
<a name="978" href="#978">978</a>         }
<a name="979" href="#979">979</a> 
<a name="980" href="#980">980</a> 
<a name="981" href="#981">981</a>         <em class="jxr_javadoccomment">/**</em>
<a name="982" href="#982">982</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="983" href="#983">983</a> <em class="jxr_javadoccomment">         */</em>
<a name="984" href="#984">984</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putInt( <strong class="jxr_keyword">int</strong> i )
<a name="985" href="#985">985</a>         {
<a name="986" href="#986">986</a>             prepareForAccess( 4 );
<a name="987" href="#987">987</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="988" href="#988">988</a>             {
<a name="989" href="#989">989</a>                 componentCursor.putInt( i );
<a name="990" href="#990">990</a>                 index += 4;
<a name="991" href="#991">991</a>             }
<a name="992" href="#992">992</a>             <strong class="jxr_keyword">else</strong>
<a name="993" href="#993">993</a>             {
<a name="994" href="#994">994</a>                 byte b0;
<a name="995" href="#995">995</a>                 byte b1;
<a name="996" href="#996">996</a>                 byte b2;
<a name="997" href="#997">997</a>                 byte b3;
<a name="998" href="#998">998</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="999" href="#999">999</a>                 {
<a name="1000" href="#1000">1000</a>                     b0 = ( byte ) ( ( i &gt;&gt; 24 ) &amp; 0xff );
<a name="1001" href="#1001">1001</a>                     b1 = ( byte ) ( ( i &gt;&gt; 16 ) &amp; 0xff );
<a name="1002" href="#1002">1002</a>                     b2 = ( byte ) ( ( i &gt;&gt; 8 ) &amp; 0xff );
<a name="1003" href="#1003">1003</a>                     b3 = ( byte ) ( ( i &gt;&gt; 0 ) &amp; 0xff );
<a name="1004" href="#1004">1004</a>                 }
<a name="1005" href="#1005">1005</a>                 <strong class="jxr_keyword">else</strong>
<a name="1006" href="#1006">1006</a>                 {
<a name="1007" href="#1007">1007</a>                     b0 = ( byte ) ( ( i &gt;&gt; 0 ) &amp; 0xff );
<a name="1008" href="#1008">1008</a>                     b1 = ( byte ) ( ( i &gt;&gt; 8 ) &amp; 0xff );
<a name="1009" href="#1009">1009</a>                     b2 = ( byte ) ( ( i &gt;&gt; 16 ) &amp; 0xff );
<a name="1010" href="#1010">1010</a>                     b3 = ( byte ) ( ( i &gt;&gt; 24 ) &amp; 0xff );
<a name="1011" href="#1011">1011</a>                 }
<a name="1012" href="#1012">1012</a>                 put( b0 );
<a name="1013" href="#1013">1013</a>                 put( b1 );
<a name="1014" href="#1014">1014</a>                 put( b2 );
<a name="1015" href="#1015">1015</a>                 put( b3 );
<a name="1016" href="#1016">1016</a>             }
<a name="1017" href="#1017">1017</a>         }
<a name="1018" href="#1018">1018</a> 
<a name="1019" href="#1019">1019</a> 
<a name="1020" href="#1020">1020</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1021" href="#1021">1021</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1022" href="#1022">1022</a> <em class="jxr_javadoccomment">         */</em>
<a name="1023" href="#1023">1023</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getLong()
<a name="1024" href="#1024">1024</a>         {
<a name="1025" href="#1025">1025</a>             prepareForAccess( 8 );
<a name="1026" href="#1026">1026</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1027" href="#1027">1027</a>             {
<a name="1028" href="#1028">1028</a>                 <strong class="jxr_keyword">long</strong> l = componentCursor.getLong();
<a name="1029" href="#1029">1029</a>                 index += 8;
<a name="1030" href="#1030">1030</a>                 <strong class="jxr_keyword">return</strong> l;
<a name="1031" href="#1031">1031</a>             }
<a name="1032" href="#1032">1032</a>             <strong class="jxr_keyword">else</strong>
<a name="1033" href="#1033">1033</a>             {
<a name="1034" href="#1034">1034</a>                 byte b0 = get();
<a name="1035" href="#1035">1035</a>                 byte b1 = get();
<a name="1036" href="#1036">1036</a>                 byte b2 = get();
<a name="1037" href="#1037">1037</a>                 byte b3 = get();
<a name="1038" href="#1038">1038</a>                 byte b4 = get();
<a name="1039" href="#1039">1039</a>                 byte b5 = get();
<a name="1040" href="#1040">1040</a>                 byte b6 = get();
<a name="1041" href="#1041">1041</a>                 byte b7 = get();
<a name="1042" href="#1042">1042</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="1043" href="#1043">1043</a>                 {
<a name="1044" href="#1044">1044</a>                     <strong class="jxr_keyword">return</strong> ( ( b0 &amp; 0xffL ) &lt;&lt; 56 ) | ( ( b1 &amp; 0xffL ) &lt;&lt; 48 ) | ( ( b2 &amp; 0xffL ) &lt;&lt; 40 )
<a name="1045" href="#1045">1045</a>                         | ( ( b3 &amp; 0xffL ) &lt;&lt; 32 ) | ( ( b4 &amp; 0xffL ) &lt;&lt; 24 ) | ( ( b5 &amp; 0xffL ) &lt;&lt; 16 )
<a name="1046" href="#1046">1046</a>                         | ( ( b6 &amp; 0xffL ) &lt;&lt; 8 ) | ( ( b7 &amp; 0xffL ) &lt;&lt; 0 );
<a name="1047" href="#1047">1047</a>                 }
<a name="1048" href="#1048">1048</a>                 <strong class="jxr_keyword">else</strong>
<a name="1049" href="#1049">1049</a>                 {
<a name="1050" href="#1050">1050</a>                     <strong class="jxr_keyword">return</strong> ( ( b7 &amp; 0xffL ) &lt;&lt; 56 ) | ( ( b6 &amp; 0xffL ) &lt;&lt; 48 ) | ( ( b5 &amp; 0xffL ) &lt;&lt; 40 )
<a name="1051" href="#1051">1051</a>                         | ( ( b4 &amp; 0xffL ) &lt;&lt; 32 ) | ( ( b3 &amp; 0xffL ) &lt;&lt; 24 ) | ( ( b2 &amp; 0xffL ) &lt;&lt; 16 )
<a name="1052" href="#1052">1052</a>                         | ( ( b1 &amp; 0xffL ) &lt;&lt; 8 ) | ( ( b0 &amp; 0xffL ) &lt;&lt; 0 );
<a name="1053" href="#1053">1053</a>                 }
<a name="1054" href="#1054">1054</a>             }
<a name="1055" href="#1055">1055</a>         }
<a name="1056" href="#1056">1056</a> 
<a name="1057" href="#1057">1057</a> 
<a name="1058" href="#1058">1058</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1059" href="#1059">1059</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1060" href="#1060">1060</a> <em class="jxr_javadoccomment">         */</em>
<a name="1061" href="#1061">1061</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putLong( <strong class="jxr_keyword">long</strong> l )
<a name="1062" href="#1062">1062</a>         {
<a name="1063" href="#1063">1063</a>             <em class="jxr_comment">//TODO: see if there is some optimizing that can be done here</em>
<a name="1064" href="#1064">1064</a>             prepareForAccess( 8 );
<a name="1065" href="#1065">1065</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1066" href="#1066">1066</a>             {
<a name="1067" href="#1067">1067</a>                 componentCursor.putLong( l );
<a name="1068" href="#1068">1068</a>                 index += 8;
<a name="1069" href="#1069">1069</a>             }
<a name="1070" href="#1070">1070</a>             <strong class="jxr_keyword">else</strong>
<a name="1071" href="#1071">1071</a>             {
<a name="1072" href="#1072">1072</a>                 byte b0;
<a name="1073" href="#1073">1073</a>                 byte b1;
<a name="1074" href="#1074">1074</a>                 byte b2;
<a name="1075" href="#1075">1075</a>                 byte b3;
<a name="1076" href="#1076">1076</a>                 byte b4;
<a name="1077" href="#1077">1077</a>                 byte b5;
<a name="1078" href="#1078">1078</a>                 byte b6;
<a name="1079" href="#1079">1079</a>                 byte b7;
<a name="1080" href="#1080">1080</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="1081" href="#1081">1081</a>                 {
<a name="1082" href="#1082">1082</a>                     b0 = ( byte ) ( ( l &gt;&gt; 56 ) &amp; 0xff );
<a name="1083" href="#1083">1083</a>                     b1 = ( byte ) ( ( l &gt;&gt; 48 ) &amp; 0xff );
<a name="1084" href="#1084">1084</a>                     b2 = ( byte ) ( ( l &gt;&gt; 40 ) &amp; 0xff );
<a name="1085" href="#1085">1085</a>                     b3 = ( byte ) ( ( l &gt;&gt; 32 ) &amp; 0xff );
<a name="1086" href="#1086">1086</a>                     b4 = ( byte ) ( ( l &gt;&gt; 24 ) &amp; 0xff );
<a name="1087" href="#1087">1087</a>                     b5 = ( byte ) ( ( l &gt;&gt; 16 ) &amp; 0xff );
<a name="1088" href="#1088">1088</a>                     b6 = ( byte ) ( ( l &gt;&gt; 8 ) &amp; 0xff );
<a name="1089" href="#1089">1089</a>                     b7 = ( byte ) ( ( l &gt;&gt; 0 ) &amp; 0xff );
<a name="1090" href="#1090">1090</a>                 }
<a name="1091" href="#1091">1091</a>                 <strong class="jxr_keyword">else</strong>
<a name="1092" href="#1092">1092</a>                 {
<a name="1093" href="#1093">1093</a>                     b0 = ( byte ) ( ( l &gt;&gt; 0 ) &amp; 0xff );
<a name="1094" href="#1094">1094</a>                     b1 = ( byte ) ( ( l &gt;&gt; 8 ) &amp; 0xff );
<a name="1095" href="#1095">1095</a>                     b2 = ( byte ) ( ( l &gt;&gt; 16 ) &amp; 0xff );
<a name="1096" href="#1096">1096</a>                     b3 = ( byte ) ( ( l &gt;&gt; 24 ) &amp; 0xff );
<a name="1097" href="#1097">1097</a>                     b4 = ( byte ) ( ( l &gt;&gt; 32 ) &amp; 0xff );
<a name="1098" href="#1098">1098</a>                     b5 = ( byte ) ( ( l &gt;&gt; 40 ) &amp; 0xff );
<a name="1099" href="#1099">1099</a>                     b6 = ( byte ) ( ( l &gt;&gt; 48 ) &amp; 0xff );
<a name="1100" href="#1100">1100</a>                     b7 = ( byte ) ( ( l &gt;&gt; 56 ) &amp; 0xff );
<a name="1101" href="#1101">1101</a>                 }
<a name="1102" href="#1102">1102</a>                 put( b0 );
<a name="1103" href="#1103">1103</a>                 put( b1 );
<a name="1104" href="#1104">1104</a>                 put( b2 );
<a name="1105" href="#1105">1105</a>                 put( b3 );
<a name="1106" href="#1106">1106</a>                 put( b4 );
<a name="1107" href="#1107">1107</a>                 put( b5 );
<a name="1108" href="#1108">1108</a>                 put( b6 );
<a name="1109" href="#1109">1109</a>                 put( b7 );
<a name="1110" href="#1110">1110</a>             }
<a name="1111" href="#1111">1111</a>         }
<a name="1112" href="#1112">1112</a> 
<a name="1113" href="#1113">1113</a> 
<a name="1114" href="#1114">1114</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1115" href="#1115">1115</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1116" href="#1116">1116</a> <em class="jxr_javadoccomment">         */</em>
<a name="1117" href="#1117">1117</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">float</strong> getFloat()
<a name="1118" href="#1118">1118</a>         {
<a name="1119" href="#1119">1119</a>             prepareForAccess( 4 );
<a name="1120" href="#1120">1120</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1121" href="#1121">1121</a>             {
<a name="1122" href="#1122">1122</a>                 <strong class="jxr_keyword">float</strong> f = componentCursor.getFloat();
<a name="1123" href="#1123">1123</a>                 index += 4;
<a name="1124" href="#1124">1124</a>                 <strong class="jxr_keyword">return</strong> f;
<a name="1125" href="#1125">1125</a>             }
<a name="1126" href="#1126">1126</a>             <strong class="jxr_keyword">else</strong>
<a name="1127" href="#1127">1127</a>             {
<a name="1128" href="#1128">1128</a>                 <strong class="jxr_keyword">int</strong> i = getInt();
<a name="1129" href="#1129">1129</a>                 <strong class="jxr_keyword">return</strong> Float.intBitsToFloat( i );
<a name="1130" href="#1130">1130</a>             }
<a name="1131" href="#1131">1131</a>         }
<a name="1132" href="#1132">1132</a> 
<a name="1133" href="#1133">1133</a> 
<a name="1134" href="#1134">1134</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1135" href="#1135">1135</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1136" href="#1136">1136</a> <em class="jxr_javadoccomment">         */</em>
<a name="1137" href="#1137">1137</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putFloat( <strong class="jxr_keyword">float</strong> f )
<a name="1138" href="#1138">1138</a>         {
<a name="1139" href="#1139">1139</a>             prepareForAccess( 4 );
<a name="1140" href="#1140">1140</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1141" href="#1141">1141</a>             {
<a name="1142" href="#1142">1142</a>                 componentCursor.putFloat( f );
<a name="1143" href="#1143">1143</a>                 index += 4;
<a name="1144" href="#1144">1144</a>             }
<a name="1145" href="#1145">1145</a>             <strong class="jxr_keyword">else</strong>
<a name="1146" href="#1146">1146</a>             {
<a name="1147" href="#1147">1147</a>                 <strong class="jxr_keyword">int</strong> i = Float.floatToIntBits( f );
<a name="1148" href="#1148">1148</a>                 putInt( i );
<a name="1149" href="#1149">1149</a>             }
<a name="1150" href="#1150">1150</a>         }
<a name="1151" href="#1151">1151</a> 
<a name="1152" href="#1152">1152</a> 
<a name="1153" href="#1153">1153</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1154" href="#1154">1154</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1155" href="#1155">1155</a> <em class="jxr_javadoccomment">         */</em>
<a name="1156" href="#1156">1156</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">double</strong> getDouble()
<a name="1157" href="#1157">1157</a>         {
<a name="1158" href="#1158">1158</a>             prepareForAccess( 8 );
<a name="1159" href="#1159">1159</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1160" href="#1160">1160</a>             {
<a name="1161" href="#1161">1161</a>                 <strong class="jxr_keyword">double</strong> d = componentCursor.getDouble();
<a name="1162" href="#1162">1162</a>                 index += 8;
<a name="1163" href="#1163">1163</a>                 <strong class="jxr_keyword">return</strong> d;
<a name="1164" href="#1164">1164</a>             }
<a name="1165" href="#1165">1165</a>             <strong class="jxr_keyword">else</strong>
<a name="1166" href="#1166">1166</a>             {
<a name="1167" href="#1167">1167</a>                 <strong class="jxr_keyword">long</strong> l = getLong();
<a name="1168" href="#1168">1168</a>                 <strong class="jxr_keyword">return</strong> Double.longBitsToDouble( l );
<a name="1169" href="#1169">1169</a>             }
<a name="1170" href="#1170">1170</a>         }
<a name="1171" href="#1171">1171</a> 
<a name="1172" href="#1172">1172</a> 
<a name="1173" href="#1173">1173</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1174" href="#1174">1174</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1175" href="#1175">1175</a> <em class="jxr_javadoccomment">         */</em>
<a name="1176" href="#1176">1176</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putDouble( <strong class="jxr_keyword">double</strong> d )
<a name="1177" href="#1177">1177</a>         {
<a name="1178" href="#1178">1178</a>             prepareForAccess( 8 );
<a name="1179" href="#1179">1179</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1180" href="#1180">1180</a>             {
<a name="1181" href="#1181">1181</a>                 componentCursor.putDouble( d );
<a name="1182" href="#1182">1182</a>                 index += 8;
<a name="1183" href="#1183">1183</a>             }
<a name="1184" href="#1184">1184</a>             <strong class="jxr_keyword">else</strong>
<a name="1185" href="#1185">1185</a>             {
<a name="1186" href="#1186">1186</a>                 <strong class="jxr_keyword">long</strong> l = Double.doubleToLongBits( d );
<a name="1187" href="#1187">1187</a>                 putLong( l );
<a name="1188" href="#1188">1188</a>             }
<a name="1189" href="#1189">1189</a>         }
<a name="1190" href="#1190">1190</a> 
<a name="1191" href="#1191">1191</a> 
<a name="1192" href="#1192">1192</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1193" href="#1193">1193</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1194" href="#1194">1194</a> <em class="jxr_javadoccomment">         */</em>
<a name="1195" href="#1195">1195</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">char</strong> getChar()
<a name="1196" href="#1196">1196</a>         {
<a name="1197" href="#1197">1197</a>             prepareForAccess( 2 );
<a name="1198" href="#1198">1198</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1199" href="#1199">1199</a>             {
<a name="1200" href="#1200">1200</a>                 <strong class="jxr_keyword">char</strong> c = componentCursor.getChar();
<a name="1201" href="#1201">1201</a>                 index += 2;
<a name="1202" href="#1202">1202</a>                 <strong class="jxr_keyword">return</strong> c;
<a name="1203" href="#1203">1203</a>             }
<a name="1204" href="#1204">1204</a>             <strong class="jxr_keyword">else</strong>
<a name="1205" href="#1205">1205</a>             {
<a name="1206" href="#1206">1206</a>                 byte b0 = get();
<a name="1207" href="#1207">1207</a>                 byte b1 = get();
<a name="1208" href="#1208">1208</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="1209" href="#1209">1209</a>                 {
<a name="1210" href="#1210">1210</a>                     <strong class="jxr_keyword">return</strong> ( <strong class="jxr_keyword">char</strong> ) ( ( b0 &lt;&lt; 8 ) | ( b1 &lt;&lt; 0 ) );
<a name="1211" href="#1211">1211</a>                 }
<a name="1212" href="#1212">1212</a>                 <strong class="jxr_keyword">else</strong>
<a name="1213" href="#1213">1213</a>                 {
<a name="1214" href="#1214">1214</a>                     <strong class="jxr_keyword">return</strong> ( <strong class="jxr_keyword">char</strong> ) ( ( b1 &lt;&lt; 8 ) | ( b0 &lt;&lt; 0 ) );
<a name="1215" href="#1215">1215</a>                 }
<a name="1216" href="#1216">1216</a>             }
<a name="1217" href="#1217">1217</a>         }
<a name="1218" href="#1218">1218</a> 
<a name="1219" href="#1219">1219</a> 
<a name="1220" href="#1220">1220</a>         <em class="jxr_javadoccomment">/**</em>
<a name="1221" href="#1221">1221</a> <em class="jxr_javadoccomment">         * @inheritDoc</em>
<a name="1222" href="#1222">1222</a> <em class="jxr_javadoccomment">         */</em>
<a name="1223" href="#1223">1223</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putChar( <strong class="jxr_keyword">char</strong> c )
<a name="1224" href="#1224">1224</a>         {
<a name="1225" href="#1225">1225</a>             prepareForAccess( 2 );
<a name="1226" href="#1226">1226</a>             <strong class="jxr_keyword">if</strong> ( componentCursor.getRemaining() &gt;= 4 )
<a name="1227" href="#1227">1227</a>             {
<a name="1228" href="#1228">1228</a>                 componentCursor.putChar( c );
<a name="1229" href="#1229">1229</a>                 index += 2;
<a name="1230" href="#1230">1230</a>             }
<a name="1231" href="#1231">1231</a>             <strong class="jxr_keyword">else</strong>
<a name="1232" href="#1232">1232</a>             {
<a name="1233" href="#1233">1233</a>                 byte b0;
<a name="1234" href="#1234">1234</a>                 byte b1;
<a name="1235" href="#1235">1235</a>                 <strong class="jxr_keyword">if</strong> ( order.equals( ByteOrder.BIG_ENDIAN ) )
<a name="1236" href="#1236">1236</a>                 {
<a name="1237" href="#1237">1237</a>                     b0 = ( byte ) ( ( c &gt;&gt; 8 ) &amp; 0xff );
<a name="1238" href="#1238">1238</a>                     b1 = ( byte ) ( ( c &gt;&gt; 0 ) &amp; 0xff );
<a name="1239" href="#1239">1239</a>                 }
<a name="1240" href="#1240">1240</a>                 <strong class="jxr_keyword">else</strong>
<a name="1241" href="#1241">1241</a>                 {
<a name="1242" href="#1242">1242</a>                     b0 = ( byte ) ( ( c &gt;&gt; 0 ) &amp; 0xff );
<a name="1243" href="#1243">1243</a>                     b1 = ( byte ) ( ( c &gt;&gt; 8 ) &amp; 0xff );
<a name="1244" href="#1244">1244</a>                 }
<a name="1245" href="#1245">1245</a>                 put( b0 );
<a name="1246" href="#1246">1246</a>                 put( b1 );
<a name="1247" href="#1247">1247</a>             }
<a name="1248" href="#1248">1248</a>         }
<a name="1249" href="#1249">1249</a> 
<a name="1250" href="#1250">1250</a>     }
<a name="1251" href="#1251">1251</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

