<!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>AbstractMessageEncoder 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/AbstractMessageEncoder.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: AbstractMessageEncoder.java 327113 2005-10-21 06:59:15Z 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.ProtocolEncoderOutput;
<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.MessageEncoder;
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <em>/**<em>*</em></em>
<a name="29" href="#29">29</a>  <em> * A {@link MessageEncoder} that encodes message header and forwards</em>
<a name="30" href="#30">30</a>  <em> * the encoding of body to a subclass.</em>
<a name="31" href="#31">31</a>  <em> *</em>
<a name="32" href="#32">32</a>  <em> * @author The Apache Directory Project</em>
<a name="33" href="#33">33</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="34" href="#34">34</a>  <em> */</em>
<a name="35" href="#35">35</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../../org/apache/mina/examples/sumup/codec/AbstractMessageEncoder.html">AbstractMessageEncoder</a> implements MessageEncoder
<a name="36" href="#36">36</a>  {
<a name="37" href="#37">37</a>      <strong>private</strong> <strong>final</strong> <strong>int</strong> type;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>      <strong>protected</strong> <a href="../../../../../../org/apache/mina/examples/sumup/codec/AbstractMessageEncoder.html">AbstractMessageEncoder</a>( <strong>int</strong> type )
<a name="40" href="#40">40</a>      {
<a name="41" href="#41">41</a>          <strong>this</strong>.type = type;
<a name="42" href="#42">42</a>      }
<a name="43" href="#43">43</a>  
<a name="44" href="#44">44</a>      <strong>public</strong> <strong>void</strong> encode( ProtocolSession session, Object message, ProtocolEncoderOutput out ) throws ProtocolViolationException
<a name="45" href="#45">45</a>      {
<a name="46" href="#46">46</a>          <a href="../../../../../../org/apache/mina/examples/sumup/message/AbstractMessage.html">AbstractMessage</a> m = ( AbstractMessage ) message ;
<a name="47" href="#47">47</a>          ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="48" href="#48">48</a>          buf.setAutoExpand( <strong>true</strong> ); <em class="comment">// Enable auto-expand for easier encoding</em>
<a name="49" href="#49">49</a>          
<a name="50" href="#50">50</a>          <em class="comment">// Encode a header</em>
<a name="51" href="#51">51</a>          buf.putShort( ( <strong>short</strong> ) type );
<a name="52" href="#52">52</a>          buf.putInt( m.getSequence() );
<a name="53" href="#53">53</a>          
<a name="54" href="#54">54</a>          <em class="comment">// Encode a body</em>
<a name="55" href="#55">55</a>          encodeBody( session, m, buf );
<a name="56" href="#56">56</a>          buf.flip();
<a name="57" href="#57">57</a>          out.write( buf );
<a name="58" href="#58">58</a>      }
<a name="59" href="#59">59</a>      
<a name="60" href="#60">60</a>      <strong>protected</strong> <strong>abstract</strong> <strong>void</strong> encodeBody( ProtocolSession session, AbstractMessage message, ByteBuffer out );
<a name="61" href="#61">61</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

