<!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 165128 2005-04-28 11:16:55Z 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 Trustin Lee (trustin@apache.org)</em>
<a name="16" href="#16">16</a>  <em> * @version $Rev: 165128 $, $Date: 2005-04-28 20:16:55 +0900 (목, 28  4월 2005) $</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>

