<!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>AbstractMessageDecoder xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/mina/examples/sumup/codec/AbstractMessageDecoder.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: AbstractMessageDecoder.java 264677 2005-08-30 02:44:35Z 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/examples/sumup/codec/package-summary.html">org.apache.mina.examples.sumup.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.examples.sumup.message.AbstractMessage;
<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>  <strong>import</strong> org.apache.mina.protocol.codec.MessageDecoder;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.protocol.codec.MessageDecoderResult;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
<a name="30" href="#30">30</a>  <em> * A {@link MessageDecoder} that decodes message header and forwards</em>
<a name="31" href="#31">31</a>  <em> * the decoding of body to a subclass.</em>
<a name="32" href="#32">32</a>  <em> *</em>
<a name="33" href="#33">33</a>  <em> * @author The Apache Directory Project</em>
<a name="34" href="#34">34</a>  <em> * @version $Rev: 264677 $, $Date: 2005-08-30 11:44:35 +0900 $</em>
<a name="35" href="#35">35</a>  <em> */</em>
<a name="36" href="#36">36</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../../org/apache/mina/examples/sumup/codec/AbstractMessageDecoder.html">AbstractMessageDecoder</a> implements MessageDecoder
<a name="37" href="#37">37</a>  {
<a name="38" href="#38">38</a>      <strong>private</strong> <strong>final</strong> <strong>int</strong> type;
<a name="39" href="#39">39</a>      
<a name="40" href="#40">40</a>      <strong>private</strong> <strong>int</strong> sequence;
<a name="41" href="#41">41</a>      <strong>private</strong> <strong>boolean</strong> readHeader;
<a name="42" href="#42">42</a>      
<a name="43" href="#43">43</a>      <strong>protected</strong> <a href="../../../../../../org/apache/mina/examples/sumup/codec/AbstractMessageDecoder.html">AbstractMessageDecoder</a>( <strong>int</strong> type )
<a name="44" href="#44">44</a>      {
<a name="45" href="#45">45</a>          <strong>this</strong>.type = type;
<a name="46" href="#46">46</a>      }
<a name="47" href="#47">47</a>  
<a name="48" href="#48">48</a>      <strong>public</strong> MessageDecoderResult decodable( ProtocolSession session, ByteBuffer in )
<a name="49" href="#49">49</a>      {
<a name="50" href="#50">50</a>          <em class="comment">// Return NEED_DATA if the whole header is not read yet.</em>
<a name="51" href="#51">51</a>          <strong>if</strong>( in.remaining() &lt; Constants.HEADER_LEN )
<a name="52" href="#52">52</a>          {
<a name="53" href="#53">53</a>              <strong>return</strong> MessageDecoderResult.NEED_DATA;
<a name="54" href="#54">54</a>          }
<a name="55" href="#55">55</a>          
<a name="56" href="#56">56</a>          <em class="comment">// Return OK if type and bodyLength matches.</em>
<a name="57" href="#57">57</a>          <strong>if</strong>( type == in.getShort() )
<a name="58" href="#58">58</a>          {
<a name="59" href="#59">59</a>              <strong>return</strong> MessageDecoderResult.OK;
<a name="60" href="#60">60</a>          }
<a name="61" href="#61">61</a>          
<a name="62" href="#62">62</a>          <em class="comment">// Return NOT_OK if not matches.</em>
<a name="63" href="#63">63</a>          <strong>return</strong> MessageDecoderResult.NOT_OK;
<a name="64" href="#64">64</a>      }
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>      <strong>public</strong> MessageDecoderResult decode( ProtocolSession session, ByteBuffer in, ProtocolDecoderOutput out ) throws ProtocolViolationException
<a name="67" href="#67">67</a>      {
<a name="68" href="#68">68</a>          <em class="comment">// Try to skip header if not read.</em>
<a name="69" href="#69">69</a>          <strong>if</strong>( !readHeader )
<a name="70" href="#70">70</a>          {
<a name="71" href="#71">71</a>              in.getShort(); <em class="comment">// Skip 'type'.</em>
<a name="72" href="#72">72</a>              sequence = in.getInt(); <em class="comment">// Get 'sequence'.</em>
<a name="73" href="#73">73</a>              readHeader = <strong>true</strong>;
<a name="74" href="#74">74</a>          }
<a name="75" href="#75">75</a>          
<a name="76" href="#76">76</a>          <em class="comment">// Try to decode body</em>
<a name="77" href="#77">77</a>          <a href="../../../../../../org/apache/mina/examples/sumup/message/AbstractMessage.html">AbstractMessage</a> m = decodeBody( session, in );
<a name="78" href="#78">78</a>          <em class="comment">// Return NEED_DATA if the body is not fully read.</em>
<a name="79" href="#79">79</a>          <strong>if</strong>( m == <strong>null</strong> )
<a name="80" href="#80">80</a>          {
<a name="81" href="#81">81</a>              <strong>return</strong> MessageDecoderResult.NEED_DATA;
<a name="82" href="#82">82</a>          }
<a name="83" href="#83">83</a>          <strong>else</strong>
<a name="84" href="#84">84</a>          {
<a name="85" href="#85">85</a>              readHeader = false; <em class="comment">// reset readHeader for the next decode</em>
<a name="86" href="#86">86</a>          }
<a name="87" href="#87">87</a>          m.setSequence( sequence );
<a name="88" href="#88">88</a>          out.write( m );
<a name="89" href="#89">89</a>          
<a name="90" href="#90">90</a>          <strong>return</strong> MessageDecoderResult.OK; 
<a name="91" href="#91">91</a>      }
<a name="92" href="#92">92</a>      
<a name="93" href="#93">93</a>      <em>/**<em>*</em></em>
<a name="94" href="#94">94</a>  <em>     * @return &lt;tt>null&lt;/tt> if the whole body is not read yet</em>
<a name="95" href="#95">95</a>  <em>     */</em>
<a name="96" href="#96">96</a>      <strong>protected</strong> <strong>abstract</strong> <a href="../../../../../../org/apache/mina/examples/sumup/message/AbstractMessage.html">AbstractMessage</a> decodeBody( ProtocolSession session, ByteBuffer in );
<a name="97" href="#97">97</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

