<!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>SingletonStateContextLookup xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../apidocs/org/apache/mina/statemachine/context/SingletonStateContextLookup.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.statemachine.context;
<a name="21" href="#21">21</a>  
<a name="22" href="#22">22</a>  <em class="jxr_javadoccomment">/**</em>
<a name="23" href="#23">23</a>  <em class="jxr_javadoccomment"> * {@link StateContextLookup} implementation which always returns the same</em>
<a name="24" href="#24">24</a>  <em class="jxr_javadoccomment"> * {@link StateContext} instance.</em>
<a name="25" href="#25">25</a>  <em class="jxr_javadoccomment"> *</em>
<a name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * @author The Apache MINA Project (dev@mina.apache.org)</em>
<a name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> * @version $Rev: 586695 $, $Date: 2007-10-20 12:01:17 +0200 (sam, 20 oct 2007) $</em>
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment"> */</em>
<a name="29" href="#29">29</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/mina/statemachine/context/SingletonStateContextLookup.html">SingletonStateContextLookup</a> implements <a href="../../../../../org/apache/mina/statemachine/context/StateContextLookup.html">StateContextLookup</a> {
<a name="30" href="#30">30</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/mina/statemachine/context/StateContext.html">StateContext</a> context;
<a name="31" href="#31">31</a>  
<a name="32" href="#32">32</a>      <em class="jxr_javadoccomment">/**</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment">     * Creates a new instance which always returns the same </em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment">     * {@link DefaultStateContext} instance.</em>
<a name="35" href="#35">35</a>  <em class="jxr_javadoccomment">     */</em>
<a name="36" href="#36">36</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/statemachine/context/SingletonStateContextLookup.html">SingletonStateContextLookup</a>() {
<a name="37" href="#37">37</a>          context = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/mina/statemachine/context/DefaultStateContext.html">DefaultStateContext</a>();
<a name="38" href="#38">38</a>      }
<a name="39" href="#39">39</a>      
<a name="40" href="#40">40</a>      <em class="jxr_javadoccomment">/**</em>
<a name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     * Creates a new instance which uses the specified {@link StateContextFactory}</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">     * to create the single instance.</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">     * </em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">     * @param contextFactory the {@link StateContextFactory} to use to create </em>
<a name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     *        the singleton instance.</em>
<a name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     */</em>
<a name="47" href="#47">47</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/statemachine/context/SingletonStateContextLookup.html">SingletonStateContextLookup</a>(<a href="../../../../../org/apache/mina/statemachine/context/StateContextFactory.html">StateContextFactory</a> contextFactory) {
<a name="48" href="#48">48</a>          <strong class="jxr_keyword">if</strong> (contextFactory == <strong class="jxr_keyword">null</strong>) {
<a name="49" href="#49">49</a>              <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> NullPointerException(<span class="jxr_string">"contextFactory"</span>);
<a name="50" href="#50">50</a>          }
<a name="51" href="#51">51</a>          context = contextFactory.create();
<a name="52" href="#52">52</a>      }
<a name="53" href="#53">53</a>      
<a name="54" href="#54">54</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/mina/statemachine/context/StateContext.html">StateContext</a> lookup(Object[] eventArgs) {
<a name="55" href="#55">55</a>          <strong class="jxr_keyword">return</strong> context;
<a name="56" href="#56">56</a>      }
<a name="57" href="#57">57</a>  }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

