<!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>TennisPlayer xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/examples/tennis/TennisPlayer.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: TennisPlayer.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>   <strong>package</strong> <a href="../../../../../org/apache/mina/examples/tennis/package-summary.html">org.apache.mina.examples.tennis</a>;
<a name="5" href="#5">5</a>   
<a name="6" href="#6">6</a>   <strong>import</strong> org.apache.mina.protocol.ProtocolCodecFactory;
<a name="7" href="#7">7</a>   <strong>import</strong> org.apache.mina.protocol.ProtocolHandler;
<a name="8" href="#8">8</a>   <strong>import</strong> org.apache.mina.protocol.ProtocolHandlerAdapter;
<a name="9" href="#9">9</a>   <strong>import</strong> org.apache.mina.protocol.ProtocolProvider;
<a name="10" href="#10">10</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolSession;
<a name="11" href="#11">11</a>  
<a name="12" href="#12">12</a>  <em>/**<em>*</em></em>
<a name="13" href="#13">13</a>  <em> * A {@link ProtocolHandler} implementation which plays a tennis game.</em>
<a name="14" href="#14">14</a>  <em> * </em>
<a name="15" href="#15">15</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="16" href="#16">16</a>  <em> * @version $Rev: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</em>
<a name="17" href="#17">17</a>  <em> */</em>
<a name="18" href="#18">18</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../../org/apache/mina/examples/tennis/TennisPlayer.html">TennisPlayer</a> implements ProtocolProvider
<a name="19" href="#19">19</a>  {
<a name="20" href="#20">20</a>      <strong>private</strong> <strong>final</strong> ProtocolHandler HANDLER = <strong>new</strong> TennisPlayerHandler();
<a name="21" href="#21">21</a>      
<a name="22" href="#22">22</a>      <strong>public</strong> ProtocolCodecFactory getCodecFactory()
<a name="23" href="#23">23</a>      {
<a name="24" href="#24">24</a>          <strong>throw</strong> <strong>new</strong> UnsupportedOperationException();
<a name="25" href="#25">25</a>      }
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>      <strong>public</strong> ProtocolHandler getHandler()
<a name="28" href="#28">28</a>      {
<a name="29" href="#29">29</a>          <strong>return</strong> HANDLER;
<a name="30" href="#30">30</a>      }
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>      <strong>private</strong> <strong>static</strong> <strong>class</strong> TennisPlayerHandler <strong>extends</strong> ProtocolHandlerAdapter
<a name="33" href="#33">33</a>      {
<a name="34" href="#34">34</a>          <strong>private</strong> <strong>static</strong> <strong>int</strong> nextId = 0;
<a name="35" href="#35">35</a>  
<a name="36" href="#36">36</a>          <em>/**<em>* Player ID **/</em></em>
<a name="37" href="#37">37</a>          <strong>private</strong> <strong>final</strong> <strong>int</strong> id = nextId++;
<a name="38" href="#38">38</a>  
<a name="39" href="#39">39</a>          <strong>public</strong> <strong>void</strong> sessionOpened( ProtocolSession session )
<a name="40" href="#40">40</a>          {
<a name="41" href="#41">41</a>              System.out.println( <span class="string">"Player-"</span> + id + <span class="string">": READY"</span> );
<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> sessionClosed( ProtocolSession session )
<a name="45" href="#45">45</a>          {
<a name="46" href="#46">46</a>              System.out.println( <span class="string">"Player-"</span> + id + <span class="string">": QUIT"</span> );
<a name="47" href="#47">47</a>          }
<a name="48" href="#48">48</a>  
<a name="49" href="#49">49</a>          <strong>public</strong> <strong>void</strong> messageReceived( ProtocolSession session, Object message )
<a name="50" href="#50">50</a>          {
<a name="51" href="#51">51</a>              System.out.println( <span class="string">"Player-"</span> + id + <span class="string">": RCVD "</span> + message );
<a name="52" href="#52">52</a>  
<a name="53" href="#53">53</a>              <a href="../../../../../org/apache/mina/examples/tennis/TennisBall.html">TennisBall</a> ball = ( TennisBall ) message;
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>              <em class="comment">// Stroke: TTL decreases and PING/PONG state changes.</em>
<a name="56" href="#56">56</a>              ball = ball.stroke();
<a name="57" href="#57">57</a>  
<a name="58" href="#58">58</a>              <strong>if</strong>( ball.getTTL() > 0 )
<a name="59" href="#59">59</a>              {
<a name="60" href="#60">60</a>                  <em class="comment">// If the ball is still alive, pass it back to peer.</em>
<a name="61" href="#61">61</a>                  session.write( ball );
<a name="62" href="#62">62</a>              }
<a name="63" href="#63">63</a>              <strong>else</strong>
<a name="64" href="#64">64</a>              {
<a name="65" href="#65">65</a>                  <em class="comment">// If the ball is dead, this player loses.</em>
<a name="66" href="#66">66</a>                  System.out.println( <span class="string">"Player-"</span> + id + <span class="string">": LOSE"</span> );
<a name="67" href="#67">67</a>                  session.close();
<a name="68" href="#68">68</a>              }
<a name="69" href="#69">69</a>          }
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>          <strong>public</strong> <strong>void</strong> messageSent( ProtocolSession session, Object message )
<a name="72" href="#72">72</a>          {
<a name="73" href="#73">73</a>              System.out.println( <span class="string">"Player-"</span> + id + <span class="string">": SENT "</span> + message );
<a name="74" href="#74">74</a>          }
<a name="75" href="#75">75</a>      }
<a name="76" href="#76">76</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

