<!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>AbstractMessage xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../apidocs/org/apache/mina/examples/sumup/message/AbstractMessage.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: AbstractMessage.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/message/package-summary.html">org.apache.mina.examples.sumup.message</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <em>/**<em>*</em></em>
<a name="22" href="#22">22</a>  <em> * A base message for SumUp protocol messages.</em>
<a name="23" href="#23">23</a>  <em> * </em>
<a name="24" href="#24">24</a>  <em> * @author The Apache Directory Project</em>
<a name="25" href="#25">25</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="26" href="#26">26</a>  <em> */</em>
<a name="27" href="#27">27</a>  <strong>public</strong> <strong>abstract</strong> <strong>class</strong> <a href="../../../../../../org/apache/mina/examples/sumup/message/AbstractMessage.html">AbstractMessage</a>
<a name="28" href="#28">28</a>  {
<a name="29" href="#29">29</a>      <strong>private</strong> <strong>int</strong> sequence;
<a name="30" href="#30">30</a>  
<a name="31" href="#31">31</a>      <strong>public</strong> <strong>int</strong> getSequence()
<a name="32" href="#32">32</a>      {
<a name="33" href="#33">33</a>          <strong>return</strong> sequence;
<a name="34" href="#34">34</a>      }
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>      <strong>public</strong> <strong>void</strong> setSequence( <strong>int</strong> sequence )
<a name="37" href="#37">37</a>      {
<a name="38" href="#38">38</a>          <strong>this</strong>.sequence = sequence;
<a name="39" href="#39">39</a>      }
<a name="40" href="#40">40</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

