<!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>ByteBufferTest xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<pre>

<a name="1" href="#1">1</a>   <em class="comment">/*</em>
<a name="2" href="#2">2</a>   <em class="comment"> *   @(#) $Id: ByteBufferTest.java 332218 2005-11-10 03:52:42Z 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.nio.BufferOverflowException;
<a name="22" href="#22">22</a>  <strong>import</strong> java.nio.charset.Charset;
<a name="23" href="#23">23</a>  <strong>import</strong> java.nio.charset.CharsetDecoder;
<a name="24" href="#24">24</a>  <strong>import</strong> java.nio.charset.CharsetEncoder;
<a name="25" href="#25">25</a>  
<a name="26" href="#26">26</a>  <strong>import</strong> junit.framework.Assert;
<a name="27" href="#27">27</a>  <strong>import</strong> junit.framework.TestCase;
<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> * Tests {@link ByteBuffer}.</em>
<a name="31" href="#31">31</a>  <em> * </em>
<a name="32" href="#32">32</a>  <em> * @author The Apache Directory Project (dev@directory.apache.org)</em>
<a name="33" href="#33">33</a>  <em> * @version $Rev: 332218 $, $Date: 2005-11-10 12:52:42 +0900 $ </em>
<a name="34" href="#34">34</a>  <em> */</em>
<a name="35" href="#35">35</a>  <strong>public</strong> <strong>class</strong> <a href="../../../../org/apache/mina/common/ByteBufferTest.html">ByteBufferTest</a> <strong>extends</strong> TestCase
<a name="36" href="#36">36</a>  {
<a name="37" href="#37">37</a>  
<a name="38" href="#38">38</a>      <strong>public</strong> <strong>static</strong> <strong>void</strong> main( String[] args )
<a name="39" href="#39">39</a>      {
<a name="40" href="#40">40</a>          junit.textui.TestRunner.run( ByteBufferTest.<strong>class</strong> );
<a name="41" href="#41">41</a>      }
<a name="42" href="#42">42</a>  
<a name="43" href="#43">43</a>      <strong>protected</strong> <strong>void</strong> setUp() throws Exception
<a name="44" href="#44">44</a>      {
<a name="45" href="#45">45</a>      }
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>      <strong>protected</strong> <strong>void</strong> tearDown() throws Exception
<a name="48" href="#48">48</a>      {
<a name="49" href="#49">49</a>      }
<a name="50" href="#50">50</a>  
<a name="51" href="#51">51</a>      <strong>public</strong> <strong>void</strong> testAllocate() throws Exception
<a name="52" href="#52">52</a>      {
<a name="53" href="#53">53</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="54" href="#54">54</a>          {
<a name="55" href="#55">55</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="56" href="#56">56</a>              Assert.assertEquals( 0, buf.position() );
<a name="57" href="#57">57</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="58" href="#58">58</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="59" href="#59">59</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="60" href="#60">60</a>          }
<a name="61" href="#61">61</a>      }
<a name="62" href="#62">62</a>  
<a name="63" href="#63">63</a>      <strong>public</strong> <strong>void</strong> testRelease() throws Exception
<a name="64" href="#64">64</a>      {
<a name="65" href="#65">65</a>          <strong>for</strong>( <strong>int</strong> i = 10; i &lt; 1048576 * 2; i = i * 11 / 10 ) <em class="comment">// increase by 10%</em>
<a name="66" href="#66">66</a>          {
<a name="67" href="#67">67</a>              ByteBuffer buf = ByteBuffer.allocate( i );
<a name="68" href="#68">68</a>              Assert.assertEquals( 0, buf.position() );
<a name="69" href="#69">69</a>              Assert.assertEquals( buf.capacity(), buf.remaining() );
<a name="70" href="#70">70</a>              Assert.assertTrue( buf.capacity() >= i );
<a name="71" href="#71">71</a>              Assert.assertTrue( buf.capacity() &lt; i * 2 );
<a name="72" href="#72">72</a>              buf.release();
<a name="73" href="#73">73</a>          }
<a name="74" href="#74">74</a>      }
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>      <strong>public</strong> <strong>void</strong> testLeakageDetection() throws Exception
<a name="77" href="#77">77</a>      {
<a name="78" href="#78">78</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="79" href="#79">79</a>          buf.release();
<a name="80" href="#80">80</a>          <strong>try</strong>
<a name="81" href="#81">81</a>          {
<a name="82" href="#82">82</a>              buf.release();
<a name="83" href="#83">83</a>              Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="84" href="#84">84</a>          }
<a name="85" href="#85">85</a>          <strong>catch</strong>( IllegalStateException e )
<a name="86" href="#86">86</a>          {
<a name="87" href="#87">87</a>  
<a name="88" href="#88">88</a>          }
<a name="89" href="#89">89</a>      }
<a name="90" href="#90">90</a>      
<a name="91" href="#91">91</a>      <strong>public</strong> <strong>void</strong> testAcquireRelease() throws Exception
<a name="92" href="#92">92</a>      {
<a name="93" href="#93">93</a>          ByteBuffer buf = ByteBuffer.allocate( 1024 );
<a name="94" href="#94">94</a>          buf.acquire();
<a name="95" href="#95">95</a>          buf.release();
<a name="96" href="#96">96</a>          buf.acquire();
<a name="97" href="#97">97</a>          buf.acquire();
<a name="98" href="#98">98</a>          buf.release();
<a name="99" href="#99">99</a>          buf.release();
<a name="100" href="#100">100</a>         buf.release();
<a name="101" href="#101">101</a>         <strong>try</strong>
<a name="102" href="#102">102</a>         {
<a name="103" href="#103">103</a>             buf.release();
<a name="104" href="#104">104</a>             Assert.fail( <span class="string">"Releasing a buffer twice should fail."</span> );
<a name="105" href="#105">105</a>         }
<a name="106" href="#106">106</a>         <strong>catch</strong>( IllegalStateException e )
<a name="107" href="#107">107</a>         {
<a name="108" href="#108">108</a>         }
<a name="109" href="#109">109</a>     }
<a name="110" href="#110">110</a>     
<a name="111" href="#111">111</a>     <strong>public</strong> <strong>void</strong> testAutoExpand() throws Exception
<a name="112" href="#112">112</a>     {
<a name="113" href="#113">113</a>         ByteBuffer buf = ByteBuffer.allocate( 1 );
<a name="114" href="#114">114</a>         
<a name="115" href="#115">115</a>         buf.put( (byte) 0 );
<a name="116" href="#116">116</a>         <strong>try</strong>
<a name="117" href="#117">117</a>         {
<a name="118" href="#118">118</a>             buf.put( (byte) 0 );
<a name="119" href="#119">119</a>             Assert.fail();
<a name="120" href="#120">120</a>         }
<a name="121" href="#121">121</a>         <strong>catch</strong>( BufferOverflowException e )
<a name="122" href="#122">122</a>         {
<a name="123" href="#123">123</a>             <em class="comment">// ignore</em>
<a name="124" href="#124">124</a>         }
<a name="125" href="#125">125</a>         
<a name="126" href="#126">126</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="127" href="#127">127</a>         buf.put( (byte) 0 );
<a name="128" href="#128">128</a>         Assert.assertEquals( 2, buf.position() );
<a name="129" href="#129">129</a>         Assert.assertEquals( 2, buf.limit() );
<a name="130" href="#130">130</a>         Assert.assertEquals( 2, buf.capacity() );
<a name="131" href="#131">131</a>         
<a name="132" href="#132">132</a>         buf.setAutoExpand( false );
<a name="133" href="#133">133</a>         <strong>try</strong>
<a name="134" href="#134">134</a>         {
<a name="135" href="#135">135</a>             buf.put( 3, (byte) 0 );
<a name="136" href="#136">136</a>             Assert.fail();
<a name="137" href="#137">137</a>         }
<a name="138" href="#138">138</a>         <strong>catch</strong>( IndexOutOfBoundsException e )
<a name="139" href="#139">139</a>         {
<a name="140" href="#140">140</a>             <em class="comment">// ignore</em>
<a name="141" href="#141">141</a>         }
<a name="142" href="#142">142</a>         
<a name="143" href="#143">143</a>         buf.setAutoExpand( <strong>true</strong> );
<a name="144" href="#144">144</a>         buf.put( 3, (byte) 0 );
<a name="145" href="#145">145</a>         Assert.assertEquals( 2, buf.position() );
<a name="146" href="#146">146</a>         Assert.assertEquals( 4, buf.limit() );
<a name="147" href="#147">147</a>         Assert.assertEquals( 4, buf.capacity() );
<a name="148" href="#148">148</a>     }
<a name="149" href="#149">149</a>     
<a name="150" href="#150">150</a>     <strong>public</strong> <strong>void</strong> testPooledProperty() throws Exception
<a name="151" href="#151">151</a>     {
<a name="152" href="#152">152</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="153" href="#153">153</a>         java.nio.ByteBuffer nioBuf = buf.buf();
<a name="154" href="#154">154</a>         buf.release();
<a name="155" href="#155">155</a>         Assert.assertSame( nioBuf, ByteBuffer.allocate( 16 ).buf() );
<a name="156" href="#156">156</a>         buf.setPooled( false );
<a name="157" href="#157">157</a>         buf.release();
<a name="158" href="#158">158</a>         Assert.assertNotSame( nioBuf, ByteBuffer.allocate( 16 ).buf() );
<a name="159" href="#159">159</a>     }
<a name="160" href="#160">160</a>     
<a name="161" href="#161">161</a>     <strong>public</strong> <strong>void</strong> testGetString() throws Exception
<a name="162" href="#162">162</a>     {
<a name="163" href="#163">163</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="164" href="#164">164</a>         CharsetDecoder decoder;
<a name="165" href="#165">165</a> 
<a name="166" href="#166">166</a>         decoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newDecoder();
<a name="167" href="#167">167</a>         buf.put( (byte) 'A' );
<a name="168" href="#168">168</a>         buf.put( (byte) 'B' );
<a name="169" href="#169">169</a>         buf.put( (byte) 'C' );
<a name="170" href="#170">170</a>         buf.put( (byte) 0 );
<a name="171" href="#171">171</a>         
<a name="172" href="#172">172</a>         buf.position( 0 );
<a name="173" href="#173">173</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="174" href="#174">174</a>         Assert.assertEquals( 4, buf.position() );
<a name="175" href="#175">175</a>         
<a name="176" href="#176">176</a>         buf.position( 0 );
<a name="177" href="#177">177</a>         buf.limit( 1 );
<a name="178" href="#178">178</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="179" href="#179">179</a>         Assert.assertEquals( 1, buf.position() );
<a name="180" href="#180">180</a>         
<a name="181" href="#181">181</a>         buf.clear();
<a name="182" href="#182">182</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="183" href="#183">183</a>         Assert.assertEquals( 10, buf.position() );
<a name="184" href="#184">184</a>         
<a name="185" href="#185">185</a>         buf.clear();
<a name="186" href="#186">186</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 1, decoder ) );
<a name="187" href="#187">187</a>         Assert.assertEquals( 1, buf.position() );
<a name="188" href="#188">188</a>         
<a name="189" href="#189">189</a>         buf.clear();
<a name="190" href="#190">190</a>         buf.fillAndReset( buf.limit() );
<a name="191" href="#191">191</a>         decoder = Charset.forName( <span class="string">"UTF-16"</span> ).newDecoder();
<a name="192" href="#192">192</a>         buf.put( (byte) 0 );
<a name="193" href="#193">193</a>         buf.put( (byte) 'A' );
<a name="194" href="#194">194</a>         buf.put( (byte) 0 );
<a name="195" href="#195">195</a>         buf.put( (byte) 'B' );
<a name="196" href="#196">196</a>         buf.put( (byte) 0 );
<a name="197" href="#197">197</a>         buf.put( (byte) 'C' );
<a name="198" href="#198">198</a>         buf.put( (byte) 0 );
<a name="199" href="#199">199</a>         buf.put( (byte) 0 );
<a name="200" href="#200">200</a>         
<a name="201" href="#201">201</a>         buf.position( 0 );
<a name="202" href="#202">202</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( decoder ) );
<a name="203" href="#203">203</a>         Assert.assertEquals( 8, buf.position() );
<a name="204" href="#204">204</a> 
<a name="205" href="#205">205</a>         buf.position( 0 );
<a name="206" href="#206">206</a>         buf.limit( 2 );
<a name="207" href="#207">207</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="208" href="#208">208</a>         Assert.assertEquals( 2, buf.position() );
<a name="209" href="#209">209</a>         
<a name="210" href="#210">210</a>         buf.position( 0 );
<a name="211" href="#211">211</a>         buf.limit( 3 );
<a name="212" href="#212">212</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( decoder ) );
<a name="213" href="#213">213</a>         Assert.assertEquals( 2, buf.position() );
<a name="214" href="#214">214</a>         
<a name="215" href="#215">215</a>         buf.clear();
<a name="216" href="#216">216</a>         Assert.assertEquals( <span class="string">"ABC"</span>, buf.getString( 10, decoder ) );
<a name="217" href="#217">217</a>         Assert.assertEquals( 10, buf.position() );
<a name="218" href="#218">218</a>         
<a name="219" href="#219">219</a>         buf.clear();
<a name="220" href="#220">220</a>         Assert.assertEquals( <span class="string">"A"</span>, buf.getString( 2, decoder ) );
<a name="221" href="#221">221</a>         Assert.assertEquals( 2, buf.position() );
<a name="222" href="#222">222</a>         
<a name="223" href="#223">223</a>         buf.clear();
<a name="224" href="#224">224</a>         <strong>try</strong>
<a name="225" href="#225">225</a>         {
<a name="226" href="#226">226</a>             buf.getString( 1, decoder );
<a name="227" href="#227">227</a>             Assert.fail();
<a name="228" href="#228">228</a>         }
<a name="229" href="#229">229</a>         <strong>catch</strong>( IllegalArgumentException e )
<a name="230" href="#230">230</a>         {
<a name="231" href="#231">231</a>             <em class="comment">// ignore</em>
<a name="232" href="#232">232</a>         }
<a name="233" href="#233">233</a> 
<a name="234" href="#234">234</a>         <em class="comment">// Test getting strings from an empty buffer.</em>
<a name="235" href="#235">235</a>         buf.clear();
<a name="236" href="#236">236</a>         buf.limit( 0 );
<a name="237" href="#237">237</a>         Assert.assertEquals( <span class="string">""</span>, buf.getString( decoder ) );
<a name="238" href="#238">238</a>         Assert.assertEquals( <span class="string">""</span>, buf.getString( 2, decoder ) );
<a name="239" href="#239">239</a>     }
<a name="240" href="#240">240</a>     
<a name="241" href="#241">241</a>     <strong>public</strong> <strong>void</strong> testPutString() throws Exception
<a name="242" href="#242">242</a>     {
<a name="243" href="#243">243</a>         CharsetEncoder encoder;
<a name="244" href="#244">244</a>         ByteBuffer buf = ByteBuffer.allocate( 16 );
<a name="245" href="#245">245</a>         encoder = Charset.forName( <span class="string">"ISO-8859-1"</span> ).newEncoder();
<a name="246" href="#246">246</a>         
<a name="247" href="#247">247</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="248" href="#248">248</a>         Assert.assertEquals( 3, buf.position() );
<a name="249" href="#249">249</a>         buf.clear();
<a name="250" href="#250">250</a>         Assert.assertEquals( 'A', buf.get( 0 ) );
<a name="251" href="#251">251</a>         Assert.assertEquals( 'B', buf.get( 1 ) );
<a name="252" href="#252">252</a>         Assert.assertEquals( 'C', buf.get( 2 ) );
<a name="253" href="#253">253</a>         
<a name="254" href="#254">254</a>         buf.putString( <span class="string">"D"</span>, 5, encoder );
<a name="255" href="#255">255</a>         Assert.assertEquals( 5, buf.position() );
<a name="256" href="#256">256</a>         buf.clear();
<a name="257" href="#257">257</a>         Assert.assertEquals( 'D', buf.get( 0 ) );
<a name="258" href="#258">258</a>         Assert.assertEquals( 0, buf.get( 1 ) );
<a name="259" href="#259">259</a>         
<a name="260" href="#260">260</a>         buf.putString( <span class="string">"EFG"</span>, 2, encoder );
<a name="261" href="#261">261</a>         Assert.assertEquals( 2, buf.position() );
<a name="262" href="#262">262</a>         buf.clear();
<a name="263" href="#263">263</a>         Assert.assertEquals( 'E', buf.get( 0 ) );
<a name="264" href="#264">264</a>         Assert.assertEquals( 'F', buf.get( 1 ) );
<a name="265" href="#265">265</a>         Assert.assertEquals( 'C', buf.get( 2 ) ); <em class="comment">// C may not be overwritten</em>
<a name="266" href="#266">266</a> 
<a name="267" href="#267">267</a>         <em class="comment">// UTF-16: We specify byte order to omit BOM.</em>
<a name="268" href="#268">268</a>         encoder = Charset.forName( <span class="string">"UTF-16BE"</span> ).newEncoder();
<a name="269" href="#269">269</a>         buf.clear();
<a name="270" href="#270">270</a>         
<a name="271" href="#271">271</a>         buf.putString( <span class="string">"ABC"</span>, encoder );
<a name="272" href="#272">272</a>         Assert.assertEquals( 6, buf.position() );
<a name="273" href="#273">273</a>         buf.clear();
<a name="274" href="#274">274</a>         
<a name="275" href="#275">275</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="276" href="#276">276</a>         Assert.assertEquals( 'A', buf.get( 1 ) );
<a name="277" href="#277">277</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="278" href="#278">278</a>         Assert.assertEquals( 'B', buf.get( 3 ) );
<a name="279" href="#279">279</a>         Assert.assertEquals( 0, buf.get( 4 ) );
<a name="280" href="#280">280</a>         Assert.assertEquals( 'C', buf.get( 5 ) );
<a name="281" href="#281">281</a>         
<a name="282" href="#282">282</a>         buf.putString( <span class="string">"D"</span>, 10, encoder );
<a name="283" href="#283">283</a>         Assert.assertEquals( 10, buf.position() );
<a name="284" href="#284">284</a>         buf.clear();
<a name="285" href="#285">285</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="286" href="#286">286</a>         Assert.assertEquals( 'D', buf.get( 1 ) );
<a name="287" href="#287">287</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="288" href="#288">288</a>         Assert.assertEquals( 0, buf.get( 3 ) );
<a name="289" href="#289">289</a>         
<a name="290" href="#290">290</a>         buf.putString( <span class="string">"EFG"</span>, 4, encoder );
<a name="291" href="#291">291</a>         Assert.assertEquals( 4, buf.position() );
<a name="292" href="#292">292</a>         buf.clear();
<a name="293" href="#293">293</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="294" href="#294">294</a>         Assert.assertEquals( 'E', buf.get( 1 ) );
<a name="295" href="#295">295</a>         Assert.assertEquals( 0, buf.get( 2 ) );
<a name="296" href="#296">296</a>         Assert.assertEquals( 'F', buf.get( 3 ) );
<a name="297" href="#297">297</a>         Assert.assertEquals( 0, buf.get( 4 ) );   <em class="comment">// C may not be overwritten</em>
<a name="298" href="#298">298</a>         Assert.assertEquals( 'C', buf.get( 5 ) ); <em class="comment">// C may not be overwritten</em>
<a name="299" href="#299">299</a> 
<a name="300" href="#300">300</a>         <em class="comment">// Test putting an emptry string</em>
<a name="301" href="#301">301</a>         buf.putString( <span class="string">""</span>, encoder );
<a name="302" href="#302">302</a>         Assert.assertEquals( 0, buf.position() );
<a name="303" href="#303">303</a>         buf.putString( <span class="string">""</span>, 4, encoder );
<a name="304" href="#304">304</a>         Assert.assertEquals( 4, buf.position() );
<a name="305" href="#305">305</a>         Assert.assertEquals( 0, buf.get( 0 ) );
<a name="306" href="#306">306</a>         Assert.assertEquals( 0, buf.get( 1 ) );
<a name="307" href="#307">307</a>     }
<a name="308" href="#308">308</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

