<!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>TransportType xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/common/TransportType.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: TransportType.java 357871 2005-12-20 01:56:40Z 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/common/package-summary.html">org.apache.mina.common</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.InvalidObjectException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.io.ObjectStreamException;
<a name="23" href="#23">23</a>  <strong>import</strong> java.io.Serializable;
<a name="24" href="#24">24</a>  <strong>import</strong> java.util.HashMap;
<a name="25" href="#25">25</a>  <strong>import</strong> java.util.Map;
<a name="26" href="#26">26</a>  <strong>import</strong> java.util.Set;
<a name="27" href="#27">27</a>  <strong>import</strong> java.util.TreeSet;
<a name="28" href="#28">28</a>  
<a name="29" href="#29">29</a>  <em>/**<em>*</em></em>
<a name="30" href="#30">30</a>  <em> * Represents network transport types.</em>
<a name="31" href="#31">31</a>  <em> * MINA provides three transport types by default:</em>
<a name="32" href="#32">32</a>  <em> * &lt;ul></em>
<a name="33" href="#33">33</a>  <em> *   &lt;li>{@link #SOCKET} - TCP/IP&lt;/li></em>
<a name="34" href="#34">34</a>  <em> *   &lt;li>{@link #DATAGRAM} - UDP/IP&lt;/li></em>
<a name="35" href="#35">35</a>  <em> *   &lt;li>{@link #VM_PIPE} - in-VM pipe support (only available in protocol</em>
<a name="36" href="#36">36</a>  <em> *       layer&lt;/li></em>
<a name="37" href="#37">37</a>  <em> * &lt;/ul></em>
<a name="38" href="#38">38</a>  <em> * &lt;p></em>
<a name="39" href="#39">39</a>  <em> * You can also create your own transport type.  Please refer to</em>
<a name="40" href="#40">40</a>  <em> * {@link #TransportType(String[], boolean)}.</em>
<a name="41" href="#41">41</a>  <em> * </em>
<a name="42" href="#42">42</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="43" href="#43">43</a>  <em> * @version $Rev: 357871 $, $Date: 2005-12-20 10:56:40 +0900 (Tue, 20 Dec 2005) $</em>
<a name="44" href="#44">44</a>  <em> */</em>
<a name="45" href="#45">45</a>  <strong>public</strong> <strong>final</strong> <strong>class</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> implements Serializable
<a name="46" href="#46">46</a>  {
<a name="47" href="#47">47</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> <strong>long</strong> serialVersionUID = 3258132470497883447L;
<a name="48" href="#48">48</a>      
<a name="49" href="#49">49</a>      <strong>private</strong> <strong>static</strong> <strong>final</strong> Map name2type = <strong>new</strong> HashMap();
<a name="50" href="#50">50</a>      
<a name="51" href="#51">51</a>      <strong>private</strong> <strong>static</strong> <strong>void</strong> register( String[] names, TransportType type )
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>          <strong>synchronized</strong>( name2type )
<a name="54" href="#54">54</a>          {
<a name="55" href="#55">55</a>              <strong>for</strong>( <strong>int</strong> i = names.length - 1; i >= 0; i -- )
<a name="56" href="#56">56</a>              {
<a name="57" href="#57">57</a>                  <strong>if</strong>( name2type.containsKey( names[i] ) )
<a name="58" href="#58">58</a>                  {
<a name="59" href="#59">59</a>                      <strong>throw</strong> <strong>new</strong> IllegalArgumentException(
<a name="60" href="#60">60</a>                              <span class="string">"Transport type name '"</span> + names[i] + <span class="string">"' is already taken."</span> );
<a name="61" href="#61">61</a>                  }
<a name="62" href="#62">62</a>              }
<a name="63" href="#63">63</a>  
<a name="64" href="#64">64</a>              <strong>for</strong>( <strong>int</strong> i = names.length - 1; i >= 0; i -- )
<a name="65" href="#65">65</a>              {
<a name="66" href="#66">66</a>                  name2type.put( names[i].toUpperCase(), type );
<a name="67" href="#67">67</a>              }
<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>      <em>/**<em>*</em></em>
<a name="72" href="#72">72</a>  <em>     * Transport type: TCP/IP (Registry name: &lt;tt>"SOCKET"&lt;/tt> or &lt;tt>"TCP"&lt;/tt>)</em>
<a name="73" href="#73">73</a>  <em>     */</em>
<a name="74" href="#74">74</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> SOCKET =
<a name="75" href="#75">75</a>          <strong>new</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a>( <strong>new</strong> String[] { <span class="string">"SOCKET"</span>, <span class="string">"TCP"</span> }, false );
<a name="76" href="#76">76</a>  
<a name="77" href="#77">77</a>      <em>/**<em>*</em></em>
<a name="78" href="#78">78</a>  <em>     * Transport type: UDP/IP (Registry name: &lt;tt>"DATAGRAM"&lt;/tt> or &lt;tt>"UDP"&lt;/tt>)</em>
<a name="79" href="#79">79</a>  <em>     */</em>
<a name="80" href="#80">80</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> DATAGRAM =
<a name="81" href="#81">81</a>          <strong>new</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a>( <strong>new</strong> String[] { <span class="string">"DATAGRAM"</span>, <span class="string">"UDP"</span> }, <strong>true</strong> );
<a name="82" href="#82">82</a>  
<a name="83" href="#83">83</a>      <em>/**<em>*</em></em>
<a name="84" href="#84">84</a>  <em>     * Transport type: in-VM pipe (Registry name: &lt;tt>"VM_PIPE"&lt;/tt>) </em>
<a name="85" href="#85">85</a>  <em>     * Please refer to</em>
<a name="86" href="#86">86</a>  <em>     * &lt;a href="../protocol/vmpipe/package-summary.htm">&lt;tt>org.apache.mina.protocol.vmpipe&lt;/tt>&lt;/a></em>
<a name="87" href="#87">87</a>  <em>     * package.</em>
<a name="88" href="#88">88</a>  <em>     */</em>
<a name="89" href="#89">89</a>      <strong>public</strong> <strong>static</strong> <strong>final</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> VM_PIPE =
<a name="90" href="#90">90</a>          <strong>new</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a>( <strong>new</strong> String[] { <span class="string">"VM_PIPE"</span> }, false );
<a name="91" href="#91">91</a>      
<a name="92" href="#92">92</a>  
<a name="93" href="#93">93</a>      <em>/**<em>*</em></em>
<a name="94" href="#94">94</a>  <em>     * Returns the transport type of the specified name.</em>
<a name="95" href="#95">95</a>  <em>     * All names are case-insensitive.</em>
<a name="96" href="#96">96</a>  <em>     * </em>
<a name="97" href="#97">97</a>  <em>     * @param name the name of the transport type</em>
<a name="98" href="#98">98</a>  <em>     * @return the transport type</em>
<a name="99" href="#99">99</a>  <em>     * @throws IllegalArgumentException if the specified name is not available.</em>
<a name="100" href="#100">100</a> <em>     */</em>
<a name="101" href="#101">101</a>     <strong>public</strong> <strong>static</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> getInstance( String name )
<a name="102" href="#102">102</a>     {
<a name="103" href="#103">103</a>         <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> type = (TransportType) name2type.get( name.toUpperCase() );
<a name="104" href="#104">104</a>         <strong>if</strong>( type != <strong>null</strong> )
<a name="105" href="#105">105</a>         {
<a name="106" href="#106">106</a>             <strong>return</strong> type;
<a name="107" href="#107">107</a>         }
<a name="108" href="#108">108</a>         
<a name="109" href="#109">109</a>         <strong>throw</strong> <strong>new</strong> IllegalArgumentException(<span class="string">"Unknown transport type name: "</span> + name);
<a name="110" href="#110">110</a>     }
<a name="111" href="#111">111</a> 
<a name="112" href="#112">112</a>     <strong>private</strong> <strong>final</strong> String[] names;
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>     <strong>private</strong> <strong>final</strong> <strong>transient</strong> <strong>boolean</strong> connectionless;
<a name="115" href="#115">115</a> 
<a name="116" href="#116">116</a>     <em>/**<em>*</em></em>
<a name="117" href="#117">117</a> <em>     * Creates a new instance.  New transport type is automatically registered</em>
<a name="118" href="#118">118</a> <em>     * to internal registry so that you can look it up using {@link #getInstance(String)}.</em>
<a name="119" href="#119">119</a> <em>     * </em>
<a name="120" href="#120">120</a> <em>     * @param names the name or aliases of this transport type</em>
<a name="121" href="#121">121</a> <em>     * @param connectionless &lt;tt>true&lt;/tt> if and only if this transport type is connectionless</em>
<a name="122" href="#122">122</a> <em>     * </em>
<a name="123" href="#123">123</a> <em>     * @throws IllegalArgumentException if &lt;tt>names&lt;/tt> are already registered or empty</em>
<a name="124" href="#124">124</a> <em>     */</em>
<a name="125" href="#125">125</a>     <strong>public</strong> <a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a>( String[] names, <strong>boolean</strong> connectionless )
<a name="126" href="#126">126</a>     {
<a name="127" href="#127">127</a>         <strong>if</strong>( names == <strong>null</strong> )
<a name="128" href="#128">128</a>         {
<a name="129" href="#129">129</a>             <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"names"</span> );
<a name="130" href="#130">130</a>         }
<a name="131" href="#131">131</a>         <strong>if</strong>( names.length == 0 )
<a name="132" href="#132">132</a>         {
<a name="133" href="#133">133</a>             <strong>throw</strong> <strong>new</strong> IllegalArgumentException( <span class="string">"names is empty"</span> );
<a name="134" href="#134">134</a>         }
<a name="135" href="#135">135</a> 
<a name="136" href="#136">136</a>         <strong>for</strong>( <strong>int</strong> i = 0; i &lt; names.length; i ++ )
<a name="137" href="#137">137</a>         {
<a name="138" href="#138">138</a>             <strong>if</strong>( names[ i ] == <strong>null</strong> )
<a name="139" href="#139">139</a>             {
<a name="140" href="#140">140</a>                 <strong>throw</strong> <strong>new</strong> NullPointerException( <span class="string">"strVals["</span> + i + <span class="string">"]"</span> );
<a name="141" href="#141">141</a>             }
<a name="142" href="#142">142</a>             
<a name="143" href="#143">143</a>             names[ i ] = names[ i ].toUpperCase();
<a name="144" href="#144">144</a>         }
<a name="145" href="#145">145</a> 
<a name="146" href="#146">146</a>         register( names, <strong>this</strong> );
<a name="147" href="#147">147</a>         <strong>this</strong>.names = names;
<a name="148" href="#148">148</a>         <strong>this</strong>.connectionless = connectionless;
<a name="149" href="#149">149</a>     }
<a name="150" href="#150">150</a> 
<a name="151" href="#151">151</a>     <em>/**<em>*</em></em>
<a name="152" href="#152">152</a> <em>     * Returns &lt;code>true&lt;/code> if the session of this transport type is</em>
<a name="153" href="#153">153</a> <em>     * connectionless.</em>
<a name="154" href="#154">154</a> <em>     */</em>
<a name="155" href="#155">155</a>     <strong>public</strong> <strong>boolean</strong> isConnectionless()
<a name="156" href="#156">156</a>     {
<a name="157" href="#157">157</a>         <strong>return</strong> connectionless;
<a name="158" href="#158">158</a>     }
<a name="159" href="#159">159</a>     
<a name="160" href="#160">160</a>     <em>/**<em>*</em></em>
<a name="161" href="#161">161</a> <em>     * Returns the known names of this transport type.</em>
<a name="162" href="#162">162</a> <em>     */</em>
<a name="163" href="#163">163</a>     <strong>public</strong> Set getNames()
<a name="164" href="#164">164</a>     {
<a name="165" href="#165">165</a>         Set result = <strong>new</strong> TreeSet();
<a name="166" href="#166">166</a>         <strong>for</strong>( <strong>int</strong> i = names.length - 1; i >= 0; i -- )
<a name="167" href="#167">167</a>         {
<a name="168" href="#168">168</a>             result.add( names[ i ] );
<a name="169" href="#169">169</a>         }
<a name="170" href="#170">170</a>         
<a name="171" href="#171">171</a>         <strong>return</strong> result;
<a name="172" href="#172">172</a>     }
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>     <strong>public</strong> String toString()
<a name="175" href="#175">175</a>     {
<a name="176" href="#176">176</a>         <strong>return</strong> names[0];
<a name="177" href="#177">177</a>     }
<a name="178" href="#178">178</a>     
<a name="179" href="#179">179</a>     <strong>private</strong> Object readResolve() throws ObjectStreamException
<a name="180" href="#180">180</a>     {
<a name="181" href="#181">181</a>         <strong>for</strong>( <strong>int</strong> i = names.length - 1; i >= 0; i -- )
<a name="182" href="#182">182</a>         {
<a name="183" href="#183">183</a>             <strong>try</strong>
<a name="184" href="#184">184</a>             {
<a name="185" href="#185">185</a>                 <strong>return</strong> getInstance( names[ i ] );
<a name="186" href="#186">186</a>             }
<a name="187" href="#187">187</a>             <strong>catch</strong>( IllegalArgumentException e )
<a name="188" href="#188">188</a>             {
<a name="189" href="#189">189</a>                 <em class="comment">// ignore</em>
<a name="190" href="#190">190</a>             }
<a name="191" href="#191">191</a>         }
<a name="192" href="#192">192</a>         
<a name="193" href="#193">193</a>         <strong>throw</strong> <strong>new</strong> InvalidObjectException( <span class="string">"Unknown transport type."</span> );
<a name="194" href="#194">194</a>     }
<a name="195" href="#195">195</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

