<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /><title>CumulativeProtocolDecoder xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/protocol/codec/CumulativeProtocolDecoder.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: CumulativeProtocolDecoder.java 210062 2005-07-11 03:52:38Z trustin $</em>
<a name="3" href="#3">3</a>   <em class="comment"> *</em>
<a name="4" href="#4">4</a>   <em class="comment"> *   Copyright 2004 The Apache Software Foundation</em>
<a name="5" href="#5">5</a>   <em class="comment"> *</em>
<a name="6" href="#6">6</a>   <em class="comment"> *   Licensed under the Apache License, Version 2.0 (the "License");</em>
<a name="7" href="#7">7</a>   <em class="comment"> *   you may not use this file except in compliance with the License.</em>
<a name="8" href="#8">8</a>   <em class="comment"> *   You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="comment"> *</em>
<a name="10" href="#10">10</a>  <em class="comment"> *       <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
<a name="11" href="#11">11</a>  <em class="comment"> *</em>
<a name="12" href="#12">12</a>  <em class="comment"> *   Unless required by applicable law or agreed to in writing, software</em>
<a name="13" href="#13">13</a>  <em class="comment"> *   distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="14" href="#14">14</a>  <em class="comment"> *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="15" href="#15">15</a>  <em class="comment"> *   See the License for the specific language governing permissions and</em>
<a name="16" href="#16">16</a>  <em class="comment"> *   limitations under the License.</em>
<a name="17" href="#17">17</a>  <em class="comment"> *</em>
<a name="18" href="#18">18</a>  <em class="comment"> */</em>
<a name="19" href="#19">19</a>  <strong>package</strong> <a href="../../../../../org/apache/mina/protocol/codec/package-summary.html">org.apache.mina.protocol.codec</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> org.apache.mina.common.ByteBuffer;
<a name="22" href="#22">22</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolDecoder;
<a name="23" href="#23">23</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolDecoderOutput;
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolViolationException;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  <em>/**<em>*</em></em>
<a name="28" href="#28">28</a>  <em> * A {@link ProtocolDecoder} that cumulates the content of received</em>
<a name="29" href="#29">29</a>  <em> * buffers to a &lt;em>cumulative buffer&lt;/em> to help users implement decoders.</em>
<a name="30" href="#30">30</a>  <em> * &lt;p></em>
<a name="31" href="#31">31</a>  <em> * If the received {@link ByteBuffer} is only a part of a message.</em>
<a name="32" href="#32">32</a>  <em> * decoders should cumulate received buffers to make a message complete or</em>
<a name="33" href="#33">33</a>  <em> * to postpone decoding until more buffers arrive.</em>
<a name="34" href="#34">34</a>  <em> * &lt;p></em>
<a name="35" href="#35">35</a>  <em> * Here is an example decoder that decodes a list of integers:</em>
<a name="36" href="#36">36</a>  <em> * &lt;pre></em>
<a name="37" href="#37">37</a>  <em> * public class IntegerDecoder extends CumulativeProtocolDecoder {</em>
<a name="38" href="#38">38</a>  <em> * </em>
<a name="39" href="#39">39</a>  <em> *     public IntegerDecoder() {</em>
<a name="40" href="#40">40</a>  <em> *         super(4);</em>
<a name="41" href="#41">41</a>  <em> *     }</em>
<a name="42" href="#42">42</a>  <em> * </em>
<a name="43" href="#43">43</a>  <em> *     protected boolean doDecode(ProtocolSession session, ByteBuffer in,</em>
<a name="44" href="#44">44</a>  <em> *                                ProtocolDecoderOutput out) throws ProtocolViolationException {</em>
<a name="45" href="#45">45</a>  <em> *         if (in.remaining() &lt; 4) {</em>
<a name="46" href="#46">46</a>  <em> *             return false; // Cumulate remainder to decode later.</em>
<a name="47" href="#47">47</a>  <em> *         }</em>
<a name="48" href="#48">48</a>  <em> *         </em>
<a name="49" href="#49">49</a>  <em> *         out.write(new Integer(in.getInt()));</em>
<a name="50" href="#50">50</a>  <em> * </em>
<a name="51" href="#51">51</a>  <em> *         // Decoded one integer; CumulativeProtocolDecoder will call me again,</em>
<a name="52" href="#52">52</a>  <em> *         // so I can decode as many integers as possible.</em>
<a name="53" href="#53">53</a>  <em> *         return true;</em>
<a name="54" href="#54">54</a>  <em> *     }</em>
<a name="55" href="#55">55</a>  <em> * }</em>
<a name="56" href="#56">56</a>  <em> * &lt;/pre></em>
<a name="57" href="#57">57</a>  <em> * </em>
<a name="58" href="#58">58</a>  <em> * @author Trustin Lee (trustin@apache.org)</em>
<a name="59" href="#59">59</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="60" href="#60">60</a>  <em> */</em>
<a name="61" href="#61">61</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/protocol/codec/CumulativeProtocolDecoder.html">CumulativeProtocolDecoder</a> implements <a href="../../../../../org/apache/mina/protocol/ProtocolDecoder.html">ProtocolDecoder</a> {
<a name="62" href="#62">62</a>      
<a name="63" href="#63">63</a>      <em>/**<em>* Cumulation buffer */</em></em>
<a name="64" href="#64">64</a>      <strong>private</strong> <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf;
<a name="65" href="#65">65</a>      
<a name="66" href="#66">66</a>      <em>/**<em>*</em></em>
<a name="67" href="#67">67</a>  <em>     * Creates a new instance with the specified default capacity of</em>
<a name="68" href="#68">68</a>  <em>     * cumulative buffer.  Please note that the capacity increases</em>
<a name="69" href="#69">69</a>  <em>     * automatically.</em>
<a name="70" href="#70">70</a>  <em>     */</em>
<a name="71" href="#71">71</a>      <strong>protected</strong> <a href="../../../../../org/apache/mina/protocol/codec/CumulativeProtocolDecoder.html">CumulativeProtocolDecoder</a>( <strong>int</strong> defaultCapacity )
<a name="72" href="#72">72</a>      {
<a name="73" href="#73">73</a>          buf = ByteBuffer.allocate( defaultCapacity );
<a name="74" href="#74">74</a>          buf.setAutoExpand( <strong>true</strong> );
<a name="75" href="#75">75</a>      }
<a name="76" href="#76">76</a>      
<a name="77" href="#77">77</a>      <em>/**<em>*</em></em>
<a name="78" href="#78">78</a>  <em>     * Cumulates content of &lt;tt>in&lt;/tt> into internal buffer and forwards</em>
<a name="79" href="#79">79</a>  <em>     * decoding request to {@link #doDecode(ProtocolSession, ByteBuffer, ProtocolDecoderOutput)}.</em>
<a name="80" href="#80">80</a>  <em>     * &lt;tt>doDecode()&lt;/tt> is invoked repeatedly until it returns &lt;tt>false&lt;/tt></em>
<a name="81" href="#81">81</a>  <em>     * and the cumulative buffer is compacted after decoding ends.</em>
<a name="82" href="#82">82</a>  <em>     * </em>
<a name="83" href="#83">83</a>  <em>     * @throws IllegalStateException if your &lt;tt>doDecode()&lt;/tt> returned</em>
<a name="84" href="#84">84</a>  <em>     *                               &lt;tt>true&lt;/tt> not consuming the cumulative buffer.</em>
<a name="85" href="#85">85</a>  <em>     */</em>
<a name="86" href="#86">86</a>      <strong>public</strong> <strong>void</strong> decode( ProtocolSession session, ByteBuffer in,
<a name="87" href="#87">87</a>                          <a href="../../../../../org/apache/mina/protocol/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> out ) throws ProtocolViolationException
<a name="88" href="#88">88</a>      {
<a name="89" href="#89">89</a>          <strong>if</strong>( session.getTransportType().isStateless() )
<a name="90" href="#90">90</a>          {
<a name="91" href="#91">91</a>              <strong>throw</strong> <strong>new</strong> IllegalStateException(
<a name="92" href="#92">92</a>                      <span class="string">"This decoder doesn't work for stateless transport types."</span> );
<a name="93" href="#93">93</a>          }
<a name="94" href="#94">94</a>  
<a name="95" href="#95">95</a>          <a href="../../../../../org/apache/mina/common/ByteBuffer.html">ByteBuffer</a> buf = <strong>this</strong>.buf;
<a name="96" href="#96">96</a>          buf.put( in );
<a name="97" href="#97">97</a>          buf.flip();
<a name="98" href="#98">98</a>  
<a name="99" href="#99">99</a>          <strong>try</strong>
<a name="100" href="#100">100</a>         {
<a name="101" href="#101">101</a>             <strong>for</strong>( ;; )
<a name="102" href="#102">102</a>             {
<a name="103" href="#103">103</a>                 <strong>int</strong> oldPos = buf.position();
<a name="104" href="#104">104</a>                 <strong>boolean</strong> decoded = doDecode( session, buf, out );
<a name="105" href="#105">105</a>                 <strong>if</strong>( decoded )
<a name="106" href="#106">106</a>                 {
<a name="107" href="#107">107</a>                     <strong>if</strong>( buf.position() == oldPos )
<a name="108" href="#108">108</a>                     {
<a name="109" href="#109">109</a>                         <strong>throw</strong> <strong>new</strong> IllegalStateException(
<a name="110" href="#110">110</a>                                 <span class="string">"doDecode() can't return true when buffer is not consumed."</span> );
<a name="111" href="#111">111</a>                     }
<a name="112" href="#112">112</a>                     
<a name="113" href="#113">113</a>                     <strong>if</strong>( !buf.hasRemaining() )
<a name="114" href="#114">114</a>                     {
<a name="115" href="#115">115</a>                         <strong>break</strong>;
<a name="116" href="#116">116</a>                     }
<a name="117" href="#117">117</a>                 }
<a name="118" href="#118">118</a>                 <strong>else</strong>
<a name="119" href="#119">119</a>                 {
<a name="120" href="#120">120</a>                     <strong>break</strong>;
<a name="121" href="#121">121</a>                 }
<a name="122" href="#122">122</a>             }
<a name="123" href="#123">123</a>         }
<a name="124" href="#124">124</a>         <strong>finally</strong>
<a name="125" href="#125">125</a>         {
<a name="126" href="#126">126</a>             buf.compact();
<a name="127" href="#127">127</a>         }
<a name="128" href="#128">128</a>     }
<a name="129" href="#129">129</a>     
<a name="130" href="#130">130</a>     <em>/**<em>*</em></em>
<a name="131" href="#131">131</a> <em>     * Implement this method to consume the specified cumulative buffer and</em>
<a name="132" href="#132">132</a> <em>     * decode its content into message(s). </em>
<a name="133" href="#133">133</a> <em>     *  </em>
<a name="134" href="#134">134</a> <em>     * @param in the cumulative buffer</em>
<a name="135" href="#135">135</a> <em>     * @return &lt;tt>true&lt;/tt> if and only if there's more to decode in the buffer</em>
<a name="136" href="#136">136</a> <em>     *         and you want to have &lt;tt>doDecode&lt;/tt> method invoked again.</em>
<a name="137" href="#137">137</a> <em>     *         Return &lt;tt>false&lt;/tt> if remaining data is not enough to decode,</em>
<a name="138" href="#138">138</a> <em>     *         then this method will be invoked again when more data is cumulated.</em>
<a name="139" href="#139">139</a> <em>     * @throws ProtocolViolationException if cannot decode &lt;tt>in&lt;/tt>.</em>
<a name="140" href="#140">140</a> <em>     */</em>
<a name="141" href="#141">141</a>     <strong>protected</strong> <strong>abstract</strong> <strong>boolean</strong> doDecode( ProtocolSession session, ByteBuffer in,
<a name="142" href="#142">142</a>                                          <a href="../../../../../org/apache/mina/protocol/ProtocolDecoderOutput.html">ProtocolDecoderOutput</a> out ) throws ProtocolViolationException;
<a name="143" href="#143">143</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

