<!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_US" lang="en_US">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>ExpiringMap xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/mina/util/ExpiringMap.html">View Javadoc</a></div><pre>

<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_comment"> *  Licensed to the Apache Software Foundation (ASF) under one</em>
<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_comment"> *  or more contributor license agreements.  See the NOTICE file</em>
<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_comment"> *  distributed with this work for additional information</em>
<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_comment"> *  regarding copyright ownership.  The ASF licenses this file</em>
<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_comment"> *  to you under the Apache License, Version 2.0 (the</em>
<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_comment"> *  "License"); you may not use this file except in compliance</em>
<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_comment"> *  with the License.  You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" 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 class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_comment"> *  Unless required by applicable law or agreed to in writing,</em>
<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_comment"> *  software distributed under the License is distributed on an</em>
<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_comment"> *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</em>
<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_comment"> *  KIND, either express or implied.  See the License for the</em>
<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_comment"> *  specific language governing permissions and limitations</em>
<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_comment"> *  under the License.</em>
<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="19" href="#19">19</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="20" href="#20">20</a>  <strong class="jxr_keyword">package</strong> org.apache.mina.util;
<a class="jxr_linenumber" name="21" href="#21">21</a>  
<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.util.Collection;
<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.util.Map;
<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Set;
<a class="jxr_linenumber" name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ConcurrentHashMap;
<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.CopyOnWriteArrayList;
<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.locks.ReadWriteLock;
<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.locks.ReentrantReadWriteLock;
<a class="jxr_linenumber" name="29" href="#29">29</a>  
<a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * A map with expiration.  This class contains a worker thread that will </em>
<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * periodically check this class in order to determine if any objects </em>
<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * should be removed based on the provided time-to-live value.</em>
<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> *</em>
<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment"> * @author &lt;a href="<a href="http://mina.apache.org" target="alexandria_uri">http://mina.apache.org</a>"&gt;Apache MINA Project&lt;/a&gt;</em>
<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> ExpiringMap&lt;K, V&gt; <strong class="jxr_keyword">implements</strong> Map&lt;K, V&gt; {
<a class="jxr_linenumber" name="38" href="#38">38</a>      
<a class="jxr_linenumber" name="39" href="#39">39</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="40" href="#40">40</a>  <em class="jxr_javadoccomment">     * The default value, 60</em>
<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="42" href="#42">42</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_TIME_TO_LIVE = 60;
<a class="jxr_linenumber" name="43" href="#43">43</a>  
<a class="jxr_linenumber" name="44" href="#44">44</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="45" href="#45">45</a>  <em class="jxr_javadoccomment">     * The default value, 1</em>
<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="47" href="#47">47</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_EXPIRATION_INTERVAL = 1;
<a class="jxr_linenumber" name="48" href="#48">48</a>  
<a class="jxr_linenumber" name="49" href="#49">49</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">int</strong> expirerCount = 1;
<a class="jxr_linenumber" name="50" href="#50">50</a>  
<a class="jxr_linenumber" name="51" href="#51">51</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> ConcurrentHashMap&lt;K, ExpiringObject&gt; delegate;
<a class="jxr_linenumber" name="52" href="#52">52</a>  
<a class="jxr_linenumber" name="53" href="#53">53</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> CopyOnWriteArrayList&lt;ExpirationListener&lt;V&gt;&gt; expirationListeners;
<a class="jxr_linenumber" name="54" href="#54">54</a>  
<a class="jxr_linenumber" name="55" href="#55">55</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">Expirer</a> expirer;
<a class="jxr_linenumber" name="56" href="#56">56</a>  
<a class="jxr_linenumber" name="57" href="#57">57</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="58" href="#58">58</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ExpiringMap using the default values </em>
<a class="jxr_linenumber" name="59" href="#59">59</a>  <em class="jxr_javadoccomment">     * DEFAULT_TIME_TO_LIVE and DEFAULT_EXPIRATION_INTERVAL</em>
<a class="jxr_linenumber" name="60" href="#60">60</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="61" href="#61">61</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="62" href="#62">62</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringMap</a>() {
<a class="jxr_linenumber" name="63" href="#63">63</a>          <strong class="jxr_keyword">this</strong>(DEFAULT_TIME_TO_LIVE, DEFAULT_EXPIRATION_INTERVAL);
<a class="jxr_linenumber" name="64" href="#64">64</a>      }
<a class="jxr_linenumber" name="65" href="#65">65</a>  
<a class="jxr_linenumber" name="66" href="#66">66</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="67" href="#67">67</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ExpiringMap using the supplied </em>
<a class="jxr_linenumber" name="68" href="#68">68</a>  <em class="jxr_javadoccomment">     * time-to-live value and the default value for DEFAULT_EXPIRATION_INTERVAL</em>
<a class="jxr_linenumber" name="69" href="#69">69</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment">     * @param timeToLive</em>
<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment">     *  The time-to-live value (seconds)</em>
<a class="jxr_linenumber" name="72" href="#72">72</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringMap</a>(<strong class="jxr_keyword">int</strong> timeToLive) {
<a class="jxr_linenumber" name="74" href="#74">74</a>          <strong class="jxr_keyword">this</strong>(timeToLive, DEFAULT_EXPIRATION_INTERVAL);
<a class="jxr_linenumber" name="75" href="#75">75</a>      }
<a class="jxr_linenumber" name="76" href="#76">76</a>  
<a class="jxr_linenumber" name="77" href="#77">77</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="78" href="#78">78</a>  <em class="jxr_javadoccomment">     * Creates a new instance of ExpiringMap using the supplied values and </em>
<a class="jxr_linenumber" name="79" href="#79">79</a>  <em class="jxr_javadoccomment">     * a {@link ConcurrentHashMap} for the internal data structure.</em>
<a class="jxr_linenumber" name="80" href="#80">80</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="81" href="#81">81</a>  <em class="jxr_javadoccomment">     * @param timeToLive</em>
<a class="jxr_linenumber" name="82" href="#82">82</a>  <em class="jxr_javadoccomment">     *  The time-to-live value (seconds)</em>
<a class="jxr_linenumber" name="83" href="#83">83</a>  <em class="jxr_javadoccomment">     * @param expirationInterval</em>
<a class="jxr_linenumber" name="84" href="#84">84</a>  <em class="jxr_javadoccomment">     *  The time between checks to see if a value should be removed (seconds)</em>
<a class="jxr_linenumber" name="85" href="#85">85</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="86" href="#86">86</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringMap</a>(<strong class="jxr_keyword">int</strong> timeToLive, <strong class="jxr_keyword">int</strong> expirationInterval) {
<a class="jxr_linenumber" name="87" href="#87">87</a>          <strong class="jxr_keyword">this</strong>(<strong class="jxr_keyword">new</strong> ConcurrentHashMap&lt;K, ExpiringObject&gt;(),
<a class="jxr_linenumber" name="88" href="#88">88</a>                  <strong class="jxr_keyword">new</strong> CopyOnWriteArrayList&lt;ExpirationListener&lt;V&gt;&gt;(), timeToLive,
<a class="jxr_linenumber" name="89" href="#89">89</a>                  expirationInterval);
<a class="jxr_linenumber" name="90" href="#90">90</a>      }
<a class="jxr_linenumber" name="91" href="#91">91</a>  
<a class="jxr_linenumber" name="92" href="#92">92</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringMap</a>(ConcurrentHashMap&lt;K, ExpiringObject&gt; delegate,
<a class="jxr_linenumber" name="93" href="#93">93</a>              CopyOnWriteArrayList&lt;ExpirationListener&lt;V&gt;&gt; expirationListeners,
<a class="jxr_linenumber" name="94" href="#94">94</a>              <strong class="jxr_keyword">int</strong> timeToLive, <strong class="jxr_keyword">int</strong> expirationInterval) {
<a class="jxr_linenumber" name="95" href="#95">95</a>          <strong class="jxr_keyword">this</strong>.delegate = delegate;
<a class="jxr_linenumber" name="96" href="#96">96</a>          <strong class="jxr_keyword">this</strong>.expirationListeners = expirationListeners;
<a class="jxr_linenumber" name="97" href="#97">97</a>  
<a class="jxr_linenumber" name="98" href="#98">98</a>          <strong class="jxr_keyword">this</strong>.expirer = <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">Expirer</a>();
<a class="jxr_linenumber" name="99" href="#99">99</a>          expirer.setTimeToLive(timeToLive);
<a class="jxr_linenumber" name="100" href="#100">100</a>         expirer.setExpirationInterval(expirationInterval);
<a class="jxr_linenumber" name="101" href="#101">101</a>     }
<a class="jxr_linenumber" name="102" href="#102">102</a> 
<a class="jxr_linenumber" name="103" href="#103">103</a>     <strong class="jxr_keyword">public</strong> V put(K key, V value) {
<a class="jxr_linenumber" name="104" href="#104">104</a>         <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a> answer = delegate.put(key, <strong class="jxr_keyword">new</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a>(key,
<a class="jxr_linenumber" name="105" href="#105">105</a>                 value, System.currentTimeMillis()));
<a class="jxr_linenumber" name="106" href="#106">106</a>         <strong class="jxr_keyword">if</strong> (answer == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="107" href="#107">107</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="108" href="#108">108</a>         }
<a class="jxr_linenumber" name="109" href="#109">109</a> 
<a class="jxr_linenumber" name="110" href="#110">110</a>         <strong class="jxr_keyword">return</strong> answer.getValue();
<a class="jxr_linenumber" name="111" href="#111">111</a>     }
<a class="jxr_linenumber" name="112" href="#112">112</a> 
<a class="jxr_linenumber" name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> V get(Object key) {
<a class="jxr_linenumber" name="114" href="#114">114</a>         <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a> object = delegate.get(key);
<a class="jxr_linenumber" name="115" href="#115">115</a> 
<a class="jxr_linenumber" name="116" href="#116">116</a>         <strong class="jxr_keyword">if</strong> (object != <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="117" href="#117">117</a>             object.setLastAccessTime(System.currentTimeMillis());
<a class="jxr_linenumber" name="118" href="#118">118</a> 
<a class="jxr_linenumber" name="119" href="#119">119</a>             <strong class="jxr_keyword">return</strong> object.getValue();
<a class="jxr_linenumber" name="120" href="#120">120</a>         }
<a class="jxr_linenumber" name="121" href="#121">121</a> 
<a class="jxr_linenumber" name="122" href="#122">122</a>         <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="123" href="#123">123</a>     }
<a class="jxr_linenumber" name="124" href="#124">124</a> 
<a class="jxr_linenumber" name="125" href="#125">125</a>     <strong class="jxr_keyword">public</strong> V remove(Object key) {
<a class="jxr_linenumber" name="126" href="#126">126</a>         <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a> answer = delegate.remove(key);
<a class="jxr_linenumber" name="127" href="#127">127</a>         <strong class="jxr_keyword">if</strong> (answer == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="128" href="#128">128</a>             <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
<a class="jxr_linenumber" name="129" href="#129">129</a>         }
<a class="jxr_linenumber" name="130" href="#130">130</a> 
<a class="jxr_linenumber" name="131" href="#131">131</a>         <strong class="jxr_keyword">return</strong> answer.getValue();
<a class="jxr_linenumber" name="132" href="#132">132</a>     }
<a class="jxr_linenumber" name="133" href="#133">133</a> 
<a class="jxr_linenumber" name="134" href="#134">134</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> containsKey(Object key) {
<a class="jxr_linenumber" name="135" href="#135">135</a>         <strong class="jxr_keyword">return</strong> delegate.containsKey(key);
<a class="jxr_linenumber" name="136" href="#136">136</a>     }
<a class="jxr_linenumber" name="137" href="#137">137</a> 
<a class="jxr_linenumber" name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> containsValue(Object value) {
<a class="jxr_linenumber" name="139" href="#139">139</a>         <strong class="jxr_keyword">return</strong> delegate.containsValue(value);
<a class="jxr_linenumber" name="140" href="#140">140</a>     }
<a class="jxr_linenumber" name="141" href="#141">141</a> 
<a class="jxr_linenumber" name="142" href="#142">142</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> size() {
<a class="jxr_linenumber" name="143" href="#143">143</a>         <strong class="jxr_keyword">return</strong> delegate.size();
<a class="jxr_linenumber" name="144" href="#144">144</a>     }
<a class="jxr_linenumber" name="145" href="#145">145</a> 
<a class="jxr_linenumber" name="146" href="#146">146</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isEmpty() {
<a class="jxr_linenumber" name="147" href="#147">147</a>         <strong class="jxr_keyword">return</strong> delegate.isEmpty();
<a class="jxr_linenumber" name="148" href="#148">148</a>     }
<a class="jxr_linenumber" name="149" href="#149">149</a> 
<a class="jxr_linenumber" name="150" href="#150">150</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> clear() {
<a class="jxr_linenumber" name="151" href="#151">151</a>         delegate.clear();
<a class="jxr_linenumber" name="152" href="#152">152</a>     }
<a class="jxr_linenumber" name="153" href="#153">153</a> 
<a class="jxr_linenumber" name="154" href="#154">154</a>     @Override
<a class="jxr_linenumber" name="155" href="#155">155</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() {
<a class="jxr_linenumber" name="156" href="#156">156</a>         <strong class="jxr_keyword">return</strong> delegate.hashCode();
<a class="jxr_linenumber" name="157" href="#157">157</a>     }
<a class="jxr_linenumber" name="158" href="#158">158</a> 
<a class="jxr_linenumber" name="159" href="#159">159</a>     <strong class="jxr_keyword">public</strong> Set&lt;K&gt; keySet() {
<a class="jxr_linenumber" name="160" href="#160">160</a>         <strong class="jxr_keyword">return</strong> delegate.keySet();
<a class="jxr_linenumber" name="161" href="#161">161</a>     }
<a class="jxr_linenumber" name="162" href="#162">162</a> 
<a class="jxr_linenumber" name="163" href="#163">163</a>     @Override
<a class="jxr_linenumber" name="164" href="#164">164</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object obj) {
<a class="jxr_linenumber" name="165" href="#165">165</a>         <strong class="jxr_keyword">return</strong> delegate.equals(obj);
<a class="jxr_linenumber" name="166" href="#166">166</a>     }
<a class="jxr_linenumber" name="167" href="#167">167</a> 
<a class="jxr_linenumber" name="168" href="#168">168</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> putAll(Map&lt;? <strong class="jxr_keyword">extends</strong> K, ? <strong class="jxr_keyword">extends</strong> V&gt; inMap) {
<a class="jxr_linenumber" name="169" href="#169">169</a>         <strong class="jxr_keyword">for</strong> (Entry&lt;? <strong class="jxr_keyword">extends</strong> K, ? <strong class="jxr_keyword">extends</strong> V&gt; e : inMap.entrySet()) {
<a class="jxr_linenumber" name="170" href="#170">170</a>             <strong class="jxr_keyword">this</strong>.put(e.getKey(), e.getValue());
<a class="jxr_linenumber" name="171" href="#171">171</a>         }
<a class="jxr_linenumber" name="172" href="#172">172</a>     }
<a class="jxr_linenumber" name="173" href="#173">173</a> 
<a class="jxr_linenumber" name="174" href="#174">174</a>     <strong class="jxr_keyword">public</strong> Collection&lt;V&gt; values() {
<a class="jxr_linenumber" name="175" href="#175">175</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
<a class="jxr_linenumber" name="176" href="#176">176</a>     }
<a class="jxr_linenumber" name="177" href="#177">177</a> 
<a class="jxr_linenumber" name="178" href="#178">178</a>     <strong class="jxr_keyword">public</strong> Set&lt;Map.Entry&lt;K, V&gt;&gt; entrySet() {
<a class="jxr_linenumber" name="179" href="#179">179</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> UnsupportedOperationException();
<a class="jxr_linenumber" name="180" href="#180">180</a>     }
<a class="jxr_linenumber" name="181" href="#181">181</a> 
<a class="jxr_linenumber" name="182" href="#182">182</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> addExpirationListener(ExpirationListener&lt;V&gt; listener) {
<a class="jxr_linenumber" name="183" href="#183">183</a>         expirationListeners.add(listener);
<a class="jxr_linenumber" name="184" href="#184">184</a>     }
<a class="jxr_linenumber" name="185" href="#185">185</a> 
<a class="jxr_linenumber" name="186" href="#186">186</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> removeExpirationListener(
<a class="jxr_linenumber" name="187" href="#187">187</a>             ExpirationListener&lt;V&gt; listener) {
<a class="jxr_linenumber" name="188" href="#188">188</a>         expirationListeners.remove(listener);
<a class="jxr_linenumber" name="189" href="#189">189</a>     }
<a class="jxr_linenumber" name="190" href="#190">190</a> 
<a class="jxr_linenumber" name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">Expirer</a> getExpirer() {
<a class="jxr_linenumber" name="192" href="#192">192</a>         <strong class="jxr_keyword">return</strong> expirer;
<a class="jxr_linenumber" name="193" href="#193">193</a>     }
<a class="jxr_linenumber" name="194" href="#194">194</a> 
<a class="jxr_linenumber" name="195" href="#195">195</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getExpirationInterval() {
<a class="jxr_linenumber" name="196" href="#196">196</a>         <strong class="jxr_keyword">return</strong> expirer.getExpirationInterval();
<a class="jxr_linenumber" name="197" href="#197">197</a>     }
<a class="jxr_linenumber" name="198" href="#198">198</a> 
<a class="jxr_linenumber" name="199" href="#199">199</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getTimeToLive() {
<a class="jxr_linenumber" name="200" href="#200">200</a>         <strong class="jxr_keyword">return</strong> expirer.getTimeToLive();
<a class="jxr_linenumber" name="201" href="#201">201</a>     }
<a class="jxr_linenumber" name="202" href="#202">202</a> 
<a class="jxr_linenumber" name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setExpirationInterval(<strong class="jxr_keyword">int</strong> expirationInterval) {
<a class="jxr_linenumber" name="204" href="#204">204</a>         expirer.setExpirationInterval(expirationInterval);
<a class="jxr_linenumber" name="205" href="#205">205</a>     }
<a class="jxr_linenumber" name="206" href="#206">206</a> 
<a class="jxr_linenumber" name="207" href="#207">207</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeToLive(<strong class="jxr_keyword">int</strong> timeToLive) {
<a class="jxr_linenumber" name="208" href="#208">208</a>         expirer.setTimeToLive(timeToLive);
<a class="jxr_linenumber" name="209" href="#209">209</a>     }
<a class="jxr_linenumber" name="210" href="#210">210</a> 
<a class="jxr_linenumber" name="211" href="#211">211</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a> {
<a class="jxr_linenumber" name="212" href="#212">212</a>         <strong class="jxr_keyword">private</strong> K key;
<a class="jxr_linenumber" name="213" href="#213">213</a> 
<a class="jxr_linenumber" name="214" href="#214">214</a>         <strong class="jxr_keyword">private</strong> V value;
<a class="jxr_linenumber" name="215" href="#215">215</a> 
<a class="jxr_linenumber" name="216" href="#216">216</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> lastAccessTime;
<a class="jxr_linenumber" name="217" href="#217">217</a> 
<a class="jxr_linenumber" name="218" href="#218">218</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> ReadWriteLock lastAccessTimeLock = <strong class="jxr_keyword">new</strong> ReentrantReadWriteLock();
<a class="jxr_linenumber" name="219" href="#219">219</a> 
<a class="jxr_linenumber" name="220" href="#220">220</a>         <a href="../../../../org/apache/mina/util/ExpiringMap.html">ExpiringObject</a>(K key, V value, <strong class="jxr_keyword">long</strong> lastAccessTime) {
<a class="jxr_linenumber" name="221" href="#221">221</a>             <strong class="jxr_keyword">if</strong> (value == <strong class="jxr_keyword">null</strong>) {
<a class="jxr_linenumber" name="222" href="#222">222</a>                 <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(
<a class="jxr_linenumber" name="223" href="#223">223</a>                         <span class="jxr_string">"An expiring object cannot be null."</span>);
<a class="jxr_linenumber" name="224" href="#224">224</a>             }
<a class="jxr_linenumber" name="225" href="#225">225</a> 
<a class="jxr_linenumber" name="226" href="#226">226</a>             <strong class="jxr_keyword">this</strong>.key = key;
<a class="jxr_linenumber" name="227" href="#227">227</a>             <strong class="jxr_keyword">this</strong>.value = value;
<a class="jxr_linenumber" name="228" href="#228">228</a>             <strong class="jxr_keyword">this</strong>.lastAccessTime = lastAccessTime;
<a class="jxr_linenumber" name="229" href="#229">229</a>         }
<a class="jxr_linenumber" name="230" href="#230">230</a> 
<a class="jxr_linenumber" name="231" href="#231">231</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">long</strong> getLastAccessTime() {
<a class="jxr_linenumber" name="232" href="#232">232</a>             lastAccessTimeLock.readLock().lock();
<a class="jxr_linenumber" name="233" href="#233">233</a> 
<a class="jxr_linenumber" name="234" href="#234">234</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="235" href="#235">235</a>                 <strong class="jxr_keyword">return</strong> lastAccessTime;
<a class="jxr_linenumber" name="236" href="#236">236</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="237" href="#237">237</a>                 lastAccessTimeLock.readLock().unlock();
<a class="jxr_linenumber" name="238" href="#238">238</a>             }
<a class="jxr_linenumber" name="239" href="#239">239</a>         }
<a class="jxr_linenumber" name="240" href="#240">240</a> 
<a class="jxr_linenumber" name="241" href="#241">241</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setLastAccessTime(<strong class="jxr_keyword">long</strong> lastAccessTime) {
<a class="jxr_linenumber" name="242" href="#242">242</a>             lastAccessTimeLock.writeLock().lock();
<a class="jxr_linenumber" name="243" href="#243">243</a> 
<a class="jxr_linenumber" name="244" href="#244">244</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="245" href="#245">245</a>                 <strong class="jxr_keyword">this</strong>.lastAccessTime = lastAccessTime;
<a class="jxr_linenumber" name="246" href="#246">246</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="247" href="#247">247</a>                 lastAccessTimeLock.writeLock().unlock();
<a class="jxr_linenumber" name="248" href="#248">248</a>             }
<a class="jxr_linenumber" name="249" href="#249">249</a>         }
<a class="jxr_linenumber" name="250" href="#250">250</a> 
<a class="jxr_linenumber" name="251" href="#251">251</a>         <strong class="jxr_keyword">public</strong> K getKey() {
<a class="jxr_linenumber" name="252" href="#252">252</a>             <strong class="jxr_keyword">return</strong> key;
<a class="jxr_linenumber" name="253" href="#253">253</a>         }
<a class="jxr_linenumber" name="254" href="#254">254</a> 
<a class="jxr_linenumber" name="255" href="#255">255</a>         <strong class="jxr_keyword">public</strong> V getValue() {
<a class="jxr_linenumber" name="256" href="#256">256</a>             <strong class="jxr_keyword">return</strong> value;
<a class="jxr_linenumber" name="257" href="#257">257</a>         }
<a class="jxr_linenumber" name="258" href="#258">258</a> 
<a class="jxr_linenumber" name="259" href="#259">259</a>         @Override
<a class="jxr_linenumber" name="260" href="#260">260</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> equals(Object obj) {
<a class="jxr_linenumber" name="261" href="#261">261</a>             <strong class="jxr_keyword">return</strong> value.equals(obj);
<a class="jxr_linenumber" name="262" href="#262">262</a>         }
<a class="jxr_linenumber" name="263" href="#263">263</a> 
<a class="jxr_linenumber" name="264" href="#264">264</a>         @Override
<a class="jxr_linenumber" name="265" href="#265">265</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> hashCode() {
<a class="jxr_linenumber" name="266" href="#266">266</a>             <strong class="jxr_keyword">return</strong> value.hashCode();
<a class="jxr_linenumber" name="267" href="#267">267</a>         }
<a class="jxr_linenumber" name="268" href="#268">268</a>     }
<a class="jxr_linenumber" name="269" href="#269">269</a> 
<a class="jxr_linenumber" name="270" href="#270">270</a>     <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="271" href="#271">271</a> <em class="jxr_javadoccomment">     * A Thread that monitors an {@link ExpiringMap} and will remove</em>
<a class="jxr_linenumber" name="272" href="#272">272</a> <em class="jxr_javadoccomment">     * elements that have passed the threshold.</em>
<a class="jxr_linenumber" name="273" href="#273">273</a> <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="274" href="#274">274</a> <em class="jxr_javadoccomment">     */</em> 
<a class="jxr_linenumber" name="275" href="#275">275</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">Expirer</a> <strong class="jxr_keyword">implements</strong> Runnable {
<a class="jxr_linenumber" name="276" href="#276">276</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> ReadWriteLock stateLock = <strong class="jxr_keyword">new</strong> ReentrantReadWriteLock();
<a class="jxr_linenumber" name="277" href="#277">277</a> 
<a class="jxr_linenumber" name="278" href="#278">278</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> timeToLiveMillis;
<a class="jxr_linenumber" name="279" href="#279">279</a> 
<a class="jxr_linenumber" name="280" href="#280">280</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> expirationIntervalMillis;
<a class="jxr_linenumber" name="281" href="#281">281</a> 
<a class="jxr_linenumber" name="282" href="#282">282</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> running = false;
<a class="jxr_linenumber" name="283" href="#283">283</a> 
<a class="jxr_linenumber" name="284" href="#284">284</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Thread expirerThread;
<a class="jxr_linenumber" name="285" href="#285">285</a> 
<a class="jxr_linenumber" name="286" href="#286">286</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="287" href="#287">287</a> <em class="jxr_javadoccomment">         * Creates a new instance of Expirer.  </em>
<a class="jxr_linenumber" name="288" href="#288">288</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="289" href="#289">289</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="290" href="#290">290</a>         <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/mina/util/ExpiringMap.html">Expirer</a>() {
<a class="jxr_linenumber" name="291" href="#291">291</a>             expirerThread = <strong class="jxr_keyword">new</strong> Thread(<strong class="jxr_keyword">this</strong>, <span class="jxr_string">"ExpiringMapExpirer-"</span>
<a class="jxr_linenumber" name="292" href="#292">292</a>                     + expirerCount++);
<a class="jxr_linenumber" name="293" href="#293">293</a>             expirerThread.setDaemon(<strong class="jxr_keyword">true</strong>);
<a class="jxr_linenumber" name="294" href="#294">294</a>         }
<a class="jxr_linenumber" name="295" href="#295">295</a> 
<a class="jxr_linenumber" name="296" href="#296">296</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
<a class="jxr_linenumber" name="297" href="#297">297</a>             <strong class="jxr_keyword">while</strong> (running) {
<a class="jxr_linenumber" name="298" href="#298">298</a>                 processExpires();
<a class="jxr_linenumber" name="299" href="#299">299</a> 
<a class="jxr_linenumber" name="300" href="#300">300</a>                 <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="301" href="#301">301</a>                     Thread.sleep(expirationIntervalMillis);
<a class="jxr_linenumber" name="302" href="#302">302</a>                 } <strong class="jxr_keyword">catch</strong> (InterruptedException e) {
<a class="jxr_linenumber" name="303" href="#303">303</a>                     <em class="jxr_comment">// Do nothing</em>
<a class="jxr_linenumber" name="304" href="#304">304</a>                 }
<a class="jxr_linenumber" name="305" href="#305">305</a>             }
<a class="jxr_linenumber" name="306" href="#306">306</a>         }
<a class="jxr_linenumber" name="307" href="#307">307</a> 
<a class="jxr_linenumber" name="308" href="#308">308</a>         <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> processExpires() {
<a class="jxr_linenumber" name="309" href="#309">309</a>             <strong class="jxr_keyword">long</strong> timeNow = System.currentTimeMillis();
<a class="jxr_linenumber" name="310" href="#310">310</a> 
<a class="jxr_linenumber" name="311" href="#311">311</a>             <strong class="jxr_keyword">for</strong> (ExpiringObject o : delegate.values()) {
<a class="jxr_linenumber" name="312" href="#312">312</a> 
<a class="jxr_linenumber" name="313" href="#313">313</a>                 <strong class="jxr_keyword">if</strong> (timeToLiveMillis &lt;= 0) {
<a class="jxr_linenumber" name="314" href="#314">314</a>                     <strong class="jxr_keyword">continue</strong>;
<a class="jxr_linenumber" name="315" href="#315">315</a>                 }
<a class="jxr_linenumber" name="316" href="#316">316</a> 
<a class="jxr_linenumber" name="317" href="#317">317</a>                 <strong class="jxr_keyword">long</strong> timeIdle = timeNow - o.getLastAccessTime();
<a class="jxr_linenumber" name="318" href="#318">318</a> 
<a class="jxr_linenumber" name="319" href="#319">319</a>                 <strong class="jxr_keyword">if</strong> (timeIdle &gt;= timeToLiveMillis) {
<a class="jxr_linenumber" name="320" href="#320">320</a>                     delegate.remove(o.getKey());
<a class="jxr_linenumber" name="321" href="#321">321</a> 
<a class="jxr_linenumber" name="322" href="#322">322</a>                     <strong class="jxr_keyword">for</strong> (ExpirationListener&lt;V&gt; listener : expirationListeners) {
<a class="jxr_linenumber" name="323" href="#323">323</a>                         listener.expired(o.getValue());
<a class="jxr_linenumber" name="324" href="#324">324</a>                     }
<a class="jxr_linenumber" name="325" href="#325">325</a>                 }
<a class="jxr_linenumber" name="326" href="#326">326</a>             }
<a class="jxr_linenumber" name="327" href="#327">327</a>         }
<a class="jxr_linenumber" name="328" href="#328">328</a> 
<a class="jxr_linenumber" name="329" href="#329">329</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="330" href="#330">330</a> <em class="jxr_javadoccomment">         * Kick off this thread which will look for old objects and remove them.</em>
<a class="jxr_linenumber" name="331" href="#331">331</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="332" href="#332">332</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="333" href="#333">333</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startExpiring() {
<a class="jxr_linenumber" name="334" href="#334">334</a>             stateLock.writeLock().lock();
<a class="jxr_linenumber" name="335" href="#335">335</a> 
<a class="jxr_linenumber" name="336" href="#336">336</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="337" href="#337">337</a>                 <strong class="jxr_keyword">if</strong> (!running) {
<a class="jxr_linenumber" name="338" href="#338">338</a>                     running = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="339" href="#339">339</a>                     expirerThread.start();
<a class="jxr_linenumber" name="340" href="#340">340</a>                 }
<a class="jxr_linenumber" name="341" href="#341">341</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="342" href="#342">342</a>                 stateLock.writeLock().unlock();
<a class="jxr_linenumber" name="343" href="#343">343</a>             }
<a class="jxr_linenumber" name="344" href="#344">344</a>         }
<a class="jxr_linenumber" name="345" href="#345">345</a> 
<a class="jxr_linenumber" name="346" href="#346">346</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="347" href="#347">347</a> <em class="jxr_javadoccomment">         * If this thread has not started, then start it.  </em>
<a class="jxr_linenumber" name="348" href="#348">348</a> <em class="jxr_javadoccomment">         * Otherwise just return;</em>
<a class="jxr_linenumber" name="349" href="#349">349</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="350" href="#350">350</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> startExpiringIfNotStarted() {
<a class="jxr_linenumber" name="351" href="#351">351</a>             stateLock.readLock().lock();
<a class="jxr_linenumber" name="352" href="#352">352</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="353" href="#353">353</a>                 <strong class="jxr_keyword">if</strong> (running) {
<a class="jxr_linenumber" name="354" href="#354">354</a>                     <strong class="jxr_keyword">return</strong>;
<a class="jxr_linenumber" name="355" href="#355">355</a>                 }
<a class="jxr_linenumber" name="356" href="#356">356</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="357" href="#357">357</a>                 stateLock.readLock().unlock();
<a class="jxr_linenumber" name="358" href="#358">358</a>             }
<a class="jxr_linenumber" name="359" href="#359">359</a> 
<a class="jxr_linenumber" name="360" href="#360">360</a>             stateLock.writeLock().lock();
<a class="jxr_linenumber" name="361" href="#361">361</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="362" href="#362">362</a>                 <strong class="jxr_keyword">if</strong> (!running) {
<a class="jxr_linenumber" name="363" href="#363">363</a>                     running = <strong class="jxr_keyword">true</strong>;
<a class="jxr_linenumber" name="364" href="#364">364</a>                     expirerThread.start();
<a class="jxr_linenumber" name="365" href="#365">365</a>                 }
<a class="jxr_linenumber" name="366" href="#366">366</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="367" href="#367">367</a>                 stateLock.writeLock().unlock();
<a class="jxr_linenumber" name="368" href="#368">368</a>             }
<a class="jxr_linenumber" name="369" href="#369">369</a>         }
<a class="jxr_linenumber" name="370" href="#370">370</a> 
<a class="jxr_linenumber" name="371" href="#371">371</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="372" href="#372">372</a> <em class="jxr_javadoccomment">         * Stop the thread from monitoring the map.</em>
<a class="jxr_linenumber" name="373" href="#373">373</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="374" href="#374">374</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> stopExpiring() {
<a class="jxr_linenumber" name="375" href="#375">375</a>             stateLock.writeLock().lock();
<a class="jxr_linenumber" name="376" href="#376">376</a> 
<a class="jxr_linenumber" name="377" href="#377">377</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="378" href="#378">378</a>                 <strong class="jxr_keyword">if</strong> (running) {
<a class="jxr_linenumber" name="379" href="#379">379</a>                     running = false;
<a class="jxr_linenumber" name="380" href="#380">380</a>                     expirerThread.interrupt();
<a class="jxr_linenumber" name="381" href="#381">381</a>                 }
<a class="jxr_linenumber" name="382" href="#382">382</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="383" href="#383">383</a>                 stateLock.writeLock().unlock();
<a class="jxr_linenumber" name="384" href="#384">384</a>             }
<a class="jxr_linenumber" name="385" href="#385">385</a>         }
<a class="jxr_linenumber" name="386" href="#386">386</a> 
<a class="jxr_linenumber" name="387" href="#387">387</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="388" href="#388">388</a> <em class="jxr_javadoccomment">         * Checks to see if the thread is running</em>
<a class="jxr_linenumber" name="389" href="#389">389</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="390" href="#390">390</a> <em class="jxr_javadoccomment">         * @return</em>
<a class="jxr_linenumber" name="391" href="#391">391</a> <em class="jxr_javadoccomment">         *  If the thread is running, true.  Otherwise false.</em>
<a class="jxr_linenumber" name="392" href="#392">392</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="393" href="#393">393</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isRunning() {
<a class="jxr_linenumber" name="394" href="#394">394</a>             stateLock.readLock().lock();
<a class="jxr_linenumber" name="395" href="#395">395</a> 
<a class="jxr_linenumber" name="396" href="#396">396</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="397" href="#397">397</a>                 <strong class="jxr_keyword">return</strong> running;
<a class="jxr_linenumber" name="398" href="#398">398</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="399" href="#399">399</a>                 stateLock.readLock().unlock();
<a class="jxr_linenumber" name="400" href="#400">400</a>             }
<a class="jxr_linenumber" name="401" href="#401">401</a>         }
<a class="jxr_linenumber" name="402" href="#402">402</a> 
<a class="jxr_linenumber" name="403" href="#403">403</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="404" href="#404">404</a> <em class="jxr_javadoccomment">         * Returns the Time-to-live value.</em>
<a class="jxr_linenumber" name="405" href="#405">405</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="406" href="#406">406</a> <em class="jxr_javadoccomment">         * @return</em>
<a class="jxr_linenumber" name="407" href="#407">407</a> <em class="jxr_javadoccomment">         *  The time-to-live (seconds)</em>
<a class="jxr_linenumber" name="408" href="#408">408</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="409" href="#409">409</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getTimeToLive() {
<a class="jxr_linenumber" name="410" href="#410">410</a>             stateLock.readLock().lock();
<a class="jxr_linenumber" name="411" href="#411">411</a> 
<a class="jxr_linenumber" name="412" href="#412">412</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="413" href="#413">413</a>                 <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">int</strong>) timeToLiveMillis / 1000;
<a class="jxr_linenumber" name="414" href="#414">414</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="415" href="#415">415</a>                 stateLock.readLock().unlock();
<a class="jxr_linenumber" name="416" href="#416">416</a>             }
<a class="jxr_linenumber" name="417" href="#417">417</a>         }
<a class="jxr_linenumber" name="418" href="#418">418</a> 
<a class="jxr_linenumber" name="419" href="#419">419</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="420" href="#420">420</a> <em class="jxr_javadoccomment">         * Update the value for the time-to-live</em>
<a class="jxr_linenumber" name="421" href="#421">421</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="422" href="#422">422</a> <em class="jxr_javadoccomment">         * @param timeToLive</em>
<a class="jxr_linenumber" name="423" href="#423">423</a> <em class="jxr_javadoccomment">         *  The time-to-live (seconds)</em>
<a class="jxr_linenumber" name="424" href="#424">424</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="425" href="#425">425</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeToLive(<strong class="jxr_keyword">long</strong> timeToLive) {
<a class="jxr_linenumber" name="426" href="#426">426</a>             stateLock.writeLock().lock();
<a class="jxr_linenumber" name="427" href="#427">427</a> 
<a class="jxr_linenumber" name="428" href="#428">428</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="429" href="#429">429</a>                 <strong class="jxr_keyword">this</strong>.timeToLiveMillis = timeToLive * 1000;
<a class="jxr_linenumber" name="430" href="#430">430</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="431" href="#431">431</a>                 stateLock.writeLock().unlock();
<a class="jxr_linenumber" name="432" href="#432">432</a>             }
<a class="jxr_linenumber" name="433" href="#433">433</a>         }
<a class="jxr_linenumber" name="434" href="#434">434</a> 
<a class="jxr_linenumber" name="435" href="#435">435</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="436" href="#436">436</a> <em class="jxr_javadoccomment">         * Get the interval in which an object will live in the map before</em>
<a class="jxr_linenumber" name="437" href="#437">437</a> <em class="jxr_javadoccomment">         * it is removed.</em>
<a class="jxr_linenumber" name="438" href="#438">438</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="439" href="#439">439</a> <em class="jxr_javadoccomment">         * @return</em>
<a class="jxr_linenumber" name="440" href="#440">440</a> <em class="jxr_javadoccomment">         *  The time in seconds.</em>
<a class="jxr_linenumber" name="441" href="#441">441</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="442" href="#442">442</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> getExpirationInterval() {
<a class="jxr_linenumber" name="443" href="#443">443</a>             stateLock.readLock().lock();
<a class="jxr_linenumber" name="444" href="#444">444</a> 
<a class="jxr_linenumber" name="445" href="#445">445</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="446" href="#446">446</a>                 <strong class="jxr_keyword">return</strong> (<strong class="jxr_keyword">int</strong>) expirationIntervalMillis / 1000;
<a class="jxr_linenumber" name="447" href="#447">447</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="448" href="#448">448</a>                 stateLock.readLock().unlock();
<a class="jxr_linenumber" name="449" href="#449">449</a>             }
<a class="jxr_linenumber" name="450" href="#450">450</a>         }
<a class="jxr_linenumber" name="451" href="#451">451</a> 
<a class="jxr_linenumber" name="452" href="#452">452</a>         <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="453" href="#453">453</a> <em class="jxr_javadoccomment">         * Set the interval in which an object will live in the map before</em>
<a class="jxr_linenumber" name="454" href="#454">454</a> <em class="jxr_javadoccomment">         * it is removed.</em>
<a class="jxr_linenumber" name="455" href="#455">455</a> <em class="jxr_javadoccomment">         *</em>
<a class="jxr_linenumber" name="456" href="#456">456</a> <em class="jxr_javadoccomment">         * @param expirationInterval</em>
<a class="jxr_linenumber" name="457" href="#457">457</a> <em class="jxr_javadoccomment">         *  The time in seconds</em>
<a class="jxr_linenumber" name="458" href="#458">458</a> <em class="jxr_javadoccomment">         */</em>
<a class="jxr_linenumber" name="459" href="#459">459</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setExpirationInterval(<strong class="jxr_keyword">long</strong> expirationInterval) {
<a class="jxr_linenumber" name="460" href="#460">460</a>             stateLock.writeLock().lock();
<a class="jxr_linenumber" name="461" href="#461">461</a> 
<a class="jxr_linenumber" name="462" href="#462">462</a>             <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="463" href="#463">463</a>                 <strong class="jxr_keyword">this</strong>.expirationIntervalMillis = expirationInterval * 1000;
<a class="jxr_linenumber" name="464" href="#464">464</a>             } <strong class="jxr_keyword">finally</strong> {
<a class="jxr_linenumber" name="465" href="#465">465</a>                 stateLock.writeLock().unlock();
<a class="jxr_linenumber" name="466" href="#466">466</a>             }
<a class="jxr_linenumber" name="467" href="#467">467</a>         }
<a class="jxr_linenumber" name="468" href="#468">468</a>     }
<a class="jxr_linenumber" name="469" href="#469">469</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

