<!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=UTF-8" />
<title>TapeDeckServer xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/example/tapedeck/TapeDeckServer.html">View Javadoc</a></div><pre>

<a name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a name="10" href="#10">10</a>  <em class="jxr_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="jxr_comment"> *</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.example.tapedeck;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.apache.mina.statemachine.event.IoHandlerEvents.*;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.future.IoFutureListener;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.core.session.IoSession;
<a name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.StateControl;
<a name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.annotation.IoHandlerTransition;
<a name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.annotation.IoHandlerTransitions;
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.annotation.State;
<a name="30" href="#30">30</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.context.AbstractStateContext;
<a name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.context.StateContext;
<a name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.mina.statemachine.event.Event;
<a name="33" href="#33">33</a>  
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">/**</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * The actual state machine implementation for the tape deck server.</em>
<a name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> *</em>
<a name="37" href="#37">37</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment"> * @version $Rev: 671827 $, $Date: 2008-06-26 10:49:48 +0200 (jeu, 26 jun 2008) $</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment"> */</em>
<a name="40" href="#40">40</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckServer</a> {
<a name="41" href="#41">41</a>      @State <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ROOT = <span class="jxr_string">"Root"</span>;
<a name="42" href="#42">42</a>      @State(ROOT) <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String EMPTY = <span class="jxr_string">"Empty"</span>;
<a name="43" href="#43">43</a>      @State(ROOT) <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String LOADED = <span class="jxr_string">"Loaded"</span>;
<a name="44" href="#44">44</a>      @State(ROOT) <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PLAYING = <span class="jxr_string">"Playing"</span>;
<a name="45" href="#45">45</a>      @State(ROOT) <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String PAUSED = <span class="jxr_string">"Paused"</span>;
<a name="46" href="#46">46</a>      
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String[] tapes = {
<a name="48" href="#48">48</a>              <span class="jxr_string">"The Knife - Silent Shout"</span>, 
<a name="49" href="#49">49</a>              <span class="jxr_string">"Kings of convenience - Riot on an empty street"</span>
<a name="50" href="#50">50</a>      };
<a name="51" href="#51">51</a>      
<a name="52" href="#52">52</a>      <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/mina/statemachine/context/AbstractStateContext.html">AbstractStateContext</a> {
<a name="53" href="#53">53</a>          <strong class="jxr_keyword">public</strong> String tapeName;
<a name="54" href="#54">54</a>      }
<a name="55" href="#55">55</a>      
<a name="56" href="#56">56</a>      @IoHandlerTransition(on = SESSION_OPENED, in = EMPTY)
<a name="57" href="#57">57</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> connect(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session) {
<a name="58" href="#58">58</a>          session.write(<span class="jxr_string">"+ Greetings from your tape deck!"</span>);
<a name="59" href="#59">59</a>      }
<a name="60" href="#60">60</a>      
<a name="61" href="#61">61</a>      @IoHandlerTransition(on = MESSAGE_RECEIVED, in = EMPTY, next = LOADED)
<a name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> loadTape(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/LoadCommand.html">LoadCommand</a> cmd) {
<a name="63" href="#63">63</a>          <strong class="jxr_keyword">if</strong> (cmd.getTapeNumber() &lt; 1 || cmd.getTapeNumber() &gt; tapes.length) {
<a name="64" href="#64">64</a>              session.write(<span class="jxr_string">"- Unknown tape number: "</span> + cmd.getTapeNumber());
<a name="65" href="#65">65</a>              StateControl.breakAndGotoNext(EMPTY);
<a name="66" href="#66">66</a>          } <strong class="jxr_keyword">else</strong> {
<a name="67" href="#67">67</a>              context.tapeName = tapes[cmd.getTapeNumber() - 1];
<a name="68" href="#68">68</a>              session.write(<span class="jxr_string">"+ \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot; loaded"</span>);
<a name="69" href="#69">69</a>          }
<a name="70" href="#70">70</a>      }
<a name="71" href="#71">71</a>  
<a name="72" href="#72">72</a>      @IoHandlerTransitions({
<a name="73" href="#73">73</a>          @IoHandlerTransition(on = MESSAGE_RECEIVED, in = LOADED, next = PLAYING),
<a name="74" href="#74">74</a>          @IoHandlerTransition(on = MESSAGE_RECEIVED, in = PAUSED, next = PLAYING)
<a name="75" href="#75">75</a>      })
<a name="76" href="#76">76</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> playTape(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/PlayCommand.html">PlayCommand</a> cmd) {
<a name="77" href="#77">77</a>          session.write(<span class="jxr_string">"+ Playing \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot;"</span>);
<a name="78" href="#78">78</a>      }
<a name="79" href="#79">79</a>      
<a name="80" href="#80">80</a>      @IoHandlerTransition(on = MESSAGE_RECEIVED, in = PLAYING, next = PAUSED)
<a name="81" href="#81">81</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> pauseTape(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/PauseCommand.html">PauseCommand</a> cmd) {
<a name="82" href="#82">82</a>          session.write(<span class="jxr_string">"+ \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot; paused"</span>);
<a name="83" href="#83">83</a>      }
<a name="84" href="#84">84</a>      
<a name="85" href="#85">85</a>      @IoHandlerTransition(on = MESSAGE_RECEIVED, in = PLAYING, next = LOADED)
<a name="86" href="#86">86</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> stopTape(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/StopCommand.html">StopCommand</a> cmd) {
<a name="87" href="#87">87</a>          session.write(<span class="jxr_string">"+ \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot; stopped"</span>);
<a name="88" href="#88">88</a>      }
<a name="89" href="#89">89</a>      
<a name="90" href="#90">90</a>      @IoHandlerTransition(on = MESSAGE_RECEIVED, in = LOADED, next = EMPTY)
<a name="91" href="#91">91</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> ejectTape(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/EjectCommand.html">EjectCommand</a> cmd) {
<a name="92" href="#92">92</a>          session.write(<span class="jxr_string">"+ \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot; ejected"</span>);
<a name="93" href="#93">93</a>          context.tapeName = <strong class="jxr_keyword">null</strong>;
<a name="94" href="#94">94</a>      }
<a name="95" href="#95">95</a>      
<a name="96" href="#96">96</a>      @IoHandlerTransition(on = MESSAGE_RECEIVED, in = ROOT)
<a name="97" href="#97">97</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> listTapes(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/ListCommand.html">ListCommand</a> cmd) {
<a name="98" href="#98">98</a>          StringBuilder response = <strong class="jxr_keyword">new</strong> StringBuilder(<span class="jxr_string">"+ ("</span>);
<a name="99" href="#99">99</a>          <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; tapes.length; i++) {
<a name="100" href="#100">100</a>             response.append(i + 1).append(<span class="jxr_string">": "</span>);
<a name="101" href="#101">101</a>             response.append('&quot;').append(tapes[i]).append('&quot;');
<a name="102" href="#102">102</a>             <strong class="jxr_keyword">if</strong> (i &lt; tapes.length - 1) {
<a name="103" href="#103">103</a>                 response.append(<span class="jxr_string">", "</span>);
<a name="104" href="#104">104</a>             }
<a name="105" href="#105">105</a>         }
<a name="106" href="#106">106</a>         response.append(')');
<a name="107" href="#107">107</a>         session.write(response);
<a name="108" href="#108">108</a>     }
<a name="109" href="#109">109</a>     
<a name="110" href="#110">110</a>     @IoHandlerTransition(on = MESSAGE_RECEIVED, in = ROOT)
<a name="111" href="#111">111</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> info(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/InfoCommand.html">InfoCommand</a> cmd) {
<a name="112" href="#112">112</a>         String state = context.getCurrentState().getId().toLowerCase();
<a name="113" href="#113">113</a>         <strong class="jxr_keyword">if</strong> (context.tapeName == <strong class="jxr_keyword">null</strong>) {
<a name="114" href="#114">114</a>             session.write(<span class="jxr_string">"+ Tape deck is "</span> + state + <span class="jxr_string">""</span>);
<a name="115" href="#115">115</a>         } <strong class="jxr_keyword">else</strong> {
<a name="116" href="#116">116</a>             session.write(<span class="jxr_string">"+ Tape deck is "</span> + state 
<a name="117" href="#117">117</a>                     + <span class="jxr_string">". Current tape: \&quot;"</span> + context.tapeName + <span class="jxr_string">"\&quot;"</span>);
<a name="118" href="#118">118</a>         }
<a name="119" href="#119">119</a>     }
<a name="120" href="#120">120</a>     
<a name="121" href="#121">121</a>     @IoHandlerTransition(on = MESSAGE_RECEIVED, in = ROOT)
<a name="122" href="#122">122</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> quit(<a href="../../../../../org/apache/mina/example/tapedeck/TapeDeckServer.html">TapeDeckContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/QuitCommand.html">QuitCommand</a> cmd) {
<a name="123" href="#123">123</a>         session.write(<span class="jxr_string">"+ Bye! Please come back!"</span>).addListener(IoFutureListener.CLOSE);
<a name="124" href="#124">124</a>     }
<a name="125" href="#125">125</a>     
<a name="126" href="#126">126</a>     @IoHandlerTransition(on = MESSAGE_RECEIVED, in = ROOT, weight = 10)
<a name="127" href="#127">127</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> error(<a href="../../../../../org/apache/mina/statemachine/event/Event.html">Event</a> event, <a href="../../../../../org/apache/mina/statemachine/context/StateContext.html">StateContext</a> context, <a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/Command.html">Command</a> cmd) {
<a name="128" href="#128">128</a>         session.write(<span class="jxr_string">"- Cannot "</span> + cmd.getName() 
<a name="129" href="#129">129</a>                 + <span class="jxr_string">" while "</span> + context.getCurrentState().getId().toLowerCase());
<a name="130" href="#130">130</a>     }
<a name="131" href="#131">131</a>     
<a name="132" href="#132">132</a>     @IoHandlerTransition(on = EXCEPTION_CAUGHT, in = ROOT)
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> commandSyntaxError(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, <a href="../../../../../org/apache/mina/example/tapedeck/CommandSyntaxException.html">CommandSyntaxException</a> e) {
<a name="134" href="#134">134</a>         session.write(<span class="jxr_string">"- "</span> + e.getMessage());
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a>     
<a name="137" href="#137">137</a>     @IoHandlerTransition(on = EXCEPTION_CAUGHT, in = ROOT, weight = 10)
<a name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> exceptionCaught(<a href="../../../../../org/apache/mina/core/session/IoSession.html">IoSession</a> session, Exception e) {
<a name="139" href="#139">139</a>         e.printStackTrace();
<a name="140" href="#140">140</a>         session.close();
<a name="141" href="#141">141</a>     }
<a name="142" href="#142">142</a>     
<a name="143" href="#143">143</a>     @IoHandlerTransition(in = ROOT, weight = 100)
<a name="144" href="#144">144</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> unhandledEvent() {
<a name="145" href="#145">145</a>     }
<a name="146" href="#146">146</a>     
<a name="147" href="#147">147</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

