<!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 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/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: 327113 $, $Date: 2005-10-21 15:59:15 +0900 $</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>

