<!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>ServiceRegistry xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/registry/ServiceRegistry.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: ServiceRegistry.java 210062 2005-07-11 03:52:38Z 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/registry/package-summary.html">org.apache.mina.registry</a>;
<a name="20" href="#20">20</a>  
<a name="21" href="#21">21</a>  <strong>import</strong> java.io.IOException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.util.Set;
<a name="23" href="#23">23</a>  
<a name="24" href="#24">24</a>  <strong>import</strong> org.apache.mina.common.TransportType;
<a name="25" href="#25">25</a>  <strong>import</strong> org.apache.mina.io.IoAcceptor;
<a name="26" href="#26">26</a>  <strong>import</strong> org.apache.mina.io.IoHandler;
<a name="27" href="#27">27</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolAcceptor;
<a name="28" href="#28">28</a>  <strong>import</strong> org.apache.mina.protocol.ProtocolProvider;
<a name="29" href="#29">29</a>  
<a name="30" href="#30">30</a>  <em>/**<em>*</em></em>
<a name="31" href="#31">31</a>  <em> * Interface for the internet service registry. The registry is used by MINA</em>
<a name="32" href="#32">32</a>  <em> * to associate services with ports and transport protocols.</em>
<a name="33" href="#33">33</a>  <em> * </em>
<a name="34" href="#34">34</a>  <em> * @author akarasulu@apache.org</em>
<a name="35" href="#35">35</a>  <em> * @author trustin@apache.org</em>
<a name="36" href="#36">36</a>  <em> * @version $Rev: 210062 $, $Date: 2005-07-11 12:52:38 +0900 $</em>
<a name="37" href="#37">37</a>  <em> */</em>
<a name="38" href="#38">38</a>  <strong>public</strong> <strong>interface</strong> <a href="../../../../org/apache/mina/registry/ServiceRegistry.html">ServiceRegistry</a>
<a name="39" href="#39">39</a>  {
<a name="40" href="#40">40</a>      <em>/**<em>*</em></em>
<a name="41" href="#41">41</a>  <em>     * Binds the specified I/O handler to the specified service.</em>
<a name="42" href="#42">42</a>  <em>     */</em>
<a name="43" href="#43">43</a>      <strong>void</strong> bind( Service service, IoHandler ioHandler ) throws IOException;
<a name="44" href="#44">44</a>  
<a name="45" href="#45">45</a>      <em>/**<em>*</em></em>
<a name="46" href="#46">46</a>  <em>     * Binds the specified protocol provider to the specified service.</em>
<a name="47" href="#47">47</a>  <em>     */</em>
<a name="48" href="#48">48</a>      <strong>void</strong> bind( Service service, ProtocolProvider protocolProvider )
<a name="49" href="#49">49</a>              throws IOException;
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <em>/**<em>*</em></em>
<a name="52" href="#52">52</a>  <em>     * Unbinds the specified service (and its aggregated I/O handler or</em>
<a name="53" href="#53">53</a>  <em>     * protocol provider). </em>
<a name="54" href="#54">54</a>  <em>     */</em>
<a name="55" href="#55">55</a>      <strong>void</strong> unbind( Service service );
<a name="56" href="#56">56</a>      
<a name="57" href="#57">57</a>      <em>/**<em>*</em></em>
<a name="58" href="#58">58</a>  <em>     * Unbinds all services (and their aggregated I/O handlers or</em>
<a name="59" href="#59">59</a>  <em>     * protocol providers). </em>
<a name="60" href="#60">60</a>  <em>     */</em>
<a name="61" href="#61">61</a>      <strong>void</strong> unbindAll();
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <em>/**<em>*</em></em>
<a name="64" href="#64">64</a>  <em>     * Returns {@link Set} of all services bound in this registry.</em>
<a name="65" href="#65">65</a>  <em>     */</em>
<a name="66" href="#66">66</a>      Set getAllServices();
<a name="67" href="#67">67</a>      
<a name="68" href="#68">68</a>      <em>/**<em>*</em></em>
<a name="69" href="#69">69</a>  <em>     * Returns {@link Set} of services bound in this registry with the</em>
<a name="70" href="#70">70</a>  <em>     * specified service(or protocol) name.</em>
<a name="71" href="#71">71</a>  <em>     */</em>
<a name="72" href="#72">72</a>      Set getServices(String name);
<a name="73" href="#73">73</a>  
<a name="74" href="#74">74</a>      <em>/**<em>*</em></em>
<a name="75" href="#75">75</a>  <em>     * Returns {@link Set} of services bound in this registry with the</em>
<a name="76" href="#76">76</a>  <em>     * specified transport type.</em>
<a name="77" href="#77">77</a>  <em>     */</em>
<a name="78" href="#78">78</a>      Set getServices(<a href="../../../../org/apache/mina/common/TransportType.html">TransportType</a> transportType);
<a name="79" href="#79">79</a>      
<a name="80" href="#80">80</a>      <em>/**<em>*</em></em>
<a name="81" href="#81">81</a>  <em>     * Returns {@link Set} of services bound in this registry with the</em>
<a name="82" href="#82">82</a>  <em>     * specified port number.</em>
<a name="83" href="#83">83</a>  <em>     */</em>
<a name="84" href="#84">84</a>      Set getServices(<strong>int</strong> port);
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>      <a href="../../../../org/apache/mina/io/IoAcceptor.html">IoAcceptor</a> getIoAcceptor( TransportType transportType );
<a name="87" href="#87">87</a>      
<a name="88" href="#88">88</a>      <a href="../../../../org/apache/mina/protocol/ProtocolAcceptor.html">ProtocolAcceptor</a> getProtocolAcceptor( TransportType transportType );
<a name="89" href="#89">89</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

