<!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>CachedDateFormat xref</title>
<link type="text/css" rel="stylesheet" href="../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../apidocs/org/apache/log4j/pattern/CachedDateFormat.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 or more</em>
<a name="3" href="#3">3</a>   <em class="jxr_comment"> * contributor license agreements.  See the NOTICE file distributed with</em>
<a name="4" href="#4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a name="5" href="#5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache License, Version 2.0</em>
<a name="6" href="#6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a name="7" href="#7">7</a>   <em class="jxr_comment"> * the License.  You may obtain a copy of the License at</em>
<a name="8" href="#8">8</a>   <em class="jxr_comment"> *</em>
<a name="9" href="#9">9</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="10" href="#10">10</a>  <em class="jxr_comment"> *</em>
<a name="11" href="#11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a name="12" href="#12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a name="13" href="#13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a name="14" href="#14">14</a>  <em class="jxr_comment"> * See the License for the specific language governing permissions and</em>
<a name="15" href="#15">15</a>  <em class="jxr_comment"> * limitations under the License.</em>
<a name="16" href="#16">16</a>  <em class="jxr_comment"> */</em>
<a name="17" href="#17">17</a>  
<a name="18" href="#18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.log4j.pattern;
<a name="19" href="#19">19</a>  
<a name="20" href="#20">20</a>  <strong class="jxr_keyword">import</strong> java.text.DateFormat;
<a name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.text.FieldPosition;
<a name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> java.text.NumberFormat;
<a name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> java.text.ParsePosition;
<a name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> java.util.Date;
<a name="25" href="#25">25</a>  <strong class="jxr_keyword">import</strong> java.util.TimeZone;
<a name="26" href="#26">26</a>  
<a name="27" href="#27">27</a>  
<a name="28" href="#28">28</a>  <em class="jxr_javadoccomment">/**</em>
<a name="29" href="#29">29</a>  <em class="jxr_javadoccomment"> * CachedDateFormat optimizes the performance of a wrapped</em>
<a name="30" href="#30">30</a>  <em class="jxr_javadoccomment"> * DateFormat.  The implementation is not thread-safe.</em>
<a name="31" href="#31">31</a>  <em class="jxr_javadoccomment"> * If the millisecond pattern is not recognized,</em>
<a name="32" href="#32">32</a>  <em class="jxr_javadoccomment"> * the class will only use the cache if the</em>
<a name="33" href="#33">33</a>  <em class="jxr_javadoccomment"> * same value is requested.</em>
<a name="34" href="#34">34</a>  <em class="jxr_javadoccomment"> *</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> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a> <strong class="jxr_keyword">extends</strong> DateFormat {
<a name="37" href="#37">37</a>    <em class="jxr_javadoccomment">/**</em>
<a name="38" href="#38">38</a>  <em class="jxr_javadoccomment">   *  Serialization version.</em>
<a name="39" href="#39">39</a>  <em class="jxr_javadoccomment">  */</em>
<a name="40" href="#40">40</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> serialVersionUID = 1;
<a name="41" href="#41">41</a>    <em class="jxr_javadoccomment">/**</em>
<a name="42" href="#42">42</a>  <em class="jxr_javadoccomment">   *  Constant used to represent that there was no change</em>
<a name="43" href="#43">43</a>  <em class="jxr_javadoccomment">   *  observed when changing the millisecond count.</em>
<a name="44" href="#44">44</a>  <em class="jxr_javadoccomment">   */</em>
<a name="45" href="#45">45</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> NO_MILLISECONDS = -2;
<a name="46" href="#46">46</a>  
<a name="47" href="#47">47</a>    <em class="jxr_javadoccomment">/**</em>
<a name="48" href="#48">48</a>  <em class="jxr_javadoccomment">   *  Supported digit set.  If the wrapped DateFormat uses</em>
<a name="49" href="#49">49</a>  <em class="jxr_javadoccomment">   *  a different unit set, the millisecond pattern</em>
<a name="50" href="#50">50</a>  <em class="jxr_javadoccomment">   *  will not be recognized and duplicate requests</em>
<a name="51" href="#51">51</a>  <em class="jxr_javadoccomment">   *  will use the cache.</em>
<a name="52" href="#52">52</a>  <em class="jxr_javadoccomment">   */</em>
<a name="53" href="#53">53</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String DIGITS = <span class="jxr_string">"0123456789"</span>;
<a name="54" href="#54">54</a>  
<a name="55" href="#55">55</a>    <em class="jxr_javadoccomment">/**</em>
<a name="56" href="#56">56</a>  <em class="jxr_javadoccomment">   *  Constant used to represent that there was an</em>
<a name="57" href="#57">57</a>  <em class="jxr_javadoccomment">   *  observed change, but was an expected change.</em>
<a name="58" href="#58">58</a>  <em class="jxr_javadoccomment">   */</em>
<a name="59" href="#59">59</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> UNRECOGNIZED_MILLISECONDS = -1;
<a name="60" href="#60">60</a>  
<a name="61" href="#61">61</a>    <em class="jxr_javadoccomment">/**</em>
<a name="62" href="#62">62</a>  <em class="jxr_javadoccomment">   *  First magic number used to detect the millisecond position.</em>
<a name="63" href="#63">63</a>  <em class="jxr_javadoccomment">   */</em>
<a name="64" href="#64">64</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAGIC1 = 654;
<a name="65" href="#65">65</a>  
<a name="66" href="#66">66</a>    <em class="jxr_javadoccomment">/**</em>
<a name="67" href="#67">67</a>  <em class="jxr_javadoccomment">   *  Expected representation of first magic number.</em>
<a name="68" href="#68">68</a>  <em class="jxr_javadoccomment">   */</em>
<a name="69" href="#69">69</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAGICSTRING1 = <span class="jxr_string">"654"</span>;
<a name="70" href="#70">70</a>  
<a name="71" href="#71">71</a>    <em class="jxr_javadoccomment">/**</em>
<a name="72" href="#72">72</a>  <em class="jxr_javadoccomment">   *  Second magic number used to detect the millisecond position.</em>
<a name="73" href="#73">73</a>  <em class="jxr_javadoccomment">   */</em>
<a name="74" href="#74">74</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAGIC2 = 987;
<a name="75" href="#75">75</a>  
<a name="76" href="#76">76</a>    <em class="jxr_javadoccomment">/**</em>
<a name="77" href="#77">77</a>  <em class="jxr_javadoccomment">   *  Expected representation of second magic number.</em>
<a name="78" href="#78">78</a>  <em class="jxr_javadoccomment">   */</em>
<a name="79" href="#79">79</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String MAGICSTRING2 = <span class="jxr_string">"987"</span>;
<a name="80" href="#80">80</a>  
<a name="81" href="#81">81</a>    <em class="jxr_javadoccomment">/**</em>
<a name="82" href="#82">82</a>  <em class="jxr_javadoccomment">   *  Expected representation of 0 milliseconds.</em>
<a name="83" href="#83">83</a>  <em class="jxr_javadoccomment">   */</em>
<a name="84" href="#84">84</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String ZERO_STRING = <span class="jxr_string">"000"</span>;
<a name="85" href="#85">85</a>  
<a name="86" href="#86">86</a>    <em class="jxr_javadoccomment">/**</em>
<a name="87" href="#87">87</a>  <em class="jxr_javadoccomment">   *   Wrapped formatter.</em>
<a name="88" href="#88">88</a>  <em class="jxr_javadoccomment">   */</em>
<a name="89" href="#89">89</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> DateFormat formatter;
<a name="90" href="#90">90</a>  
<a name="91" href="#91">91</a>    <em class="jxr_javadoccomment">/**</em>
<a name="92" href="#92">92</a>  <em class="jxr_javadoccomment">   *  Index of initial digit of millisecond pattern or</em>
<a name="93" href="#93">93</a>  <em class="jxr_javadoccomment">   *   UNRECOGNIZED_MILLISECONDS or NO_MILLISECONDS.</em>
<a name="94" href="#94">94</a>  <em class="jxr_javadoccomment">   */</em>
<a name="95" href="#95">95</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> millisecondStart;
<a name="96" href="#96">96</a>  
<a name="97" href="#97">97</a>    <em class="jxr_javadoccomment">/**</em>
<a name="98" href="#98">98</a>  <em class="jxr_javadoccomment">   *  Integral second preceding the previous convered Date.</em>
<a name="99" href="#99">99</a>  <em class="jxr_javadoccomment">   */</em>
<a name="100" href="#100">100</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> slotBegin;
<a name="101" href="#101">101</a> 
<a name="102" href="#102">102</a>   <em class="jxr_javadoccomment">/**</em>
<a name="103" href="#103">103</a> <em class="jxr_javadoccomment">   *  Cache of previous conversion.</em>
<a name="104" href="#104">104</a> <em class="jxr_javadoccomment">   */</em>
<a name="105" href="#105">105</a>   <strong class="jxr_keyword">private</strong> StringBuffer cache = <strong class="jxr_keyword">new</strong> StringBuffer(50);
<a name="106" href="#106">106</a> 
<a name="107" href="#107">107</a>   <em class="jxr_javadoccomment">/**</em>
<a name="108" href="#108">108</a> <em class="jxr_javadoccomment">   *  Maximum validity period for the cache.</em>
<a name="109" href="#109">109</a> <em class="jxr_javadoccomment">   *  Typically 1, use cache for duplicate requests only, or</em>
<a name="110" href="#110">110</a> <em class="jxr_javadoccomment">   *  1000, use cache for requests within the same integral second.</em>
<a name="111" href="#111">111</a> <em class="jxr_javadoccomment">   */</em>
<a name="112" href="#112">112</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> expiration;
<a name="113" href="#113">113</a> 
<a name="114" href="#114">114</a>   <em class="jxr_javadoccomment">/**</em>
<a name="115" href="#115">115</a> <em class="jxr_javadoccomment">   *  Date requested in previous conversion.</em>
<a name="116" href="#116">116</a> <em class="jxr_javadoccomment">   */</em>
<a name="117" href="#117">117</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> previousTime;
<a name="118" href="#118">118</a> 
<a name="119" href="#119">119</a>   <em class="jxr_javadoccomment">/**</em>
<a name="120" href="#120">120</a> <em class="jxr_javadoccomment">   *   Scratch date object used to minimize date object creation.</em>
<a name="121" href="#121">121</a> <em class="jxr_javadoccomment">   */</em>
<a name="122" href="#122">122</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Date tmpDate = <strong class="jxr_keyword">new</strong> Date(0);
<a name="123" href="#123">123</a> 
<a name="124" href="#124">124</a>   <em class="jxr_javadoccomment">/**</em>
<a name="125" href="#125">125</a> <em class="jxr_javadoccomment">   *  Creates a new CachedDateFormat object.</em>
<a name="126" href="#126">126</a> <em class="jxr_javadoccomment">   *  @param dateFormat Date format, may not be null.</em>
<a name="127" href="#127">127</a> <em class="jxr_javadoccomment">   *  @param expiration maximum cached range in milliseconds.</em>
<a name="128" href="#128">128</a> <em class="jxr_javadoccomment">   *    If the dateFormat is known to be incompatible with the</em>
<a name="129" href="#129">129</a> <em class="jxr_javadoccomment">   *      caching algorithm, use a value of 0 to totally disable</em>
<a name="130" href="#130">130</a> <em class="jxr_javadoccomment">   *      caching or 1 to only use cache for duplicate requests.</em>
<a name="131" href="#131">131</a> <em class="jxr_javadoccomment">   */</em>
<a name="132" href="#132">132</a>   <strong class="jxr_keyword">public</strong> <a href="../../../../org/apache/log4j/pattern/CachedDateFormat.html">CachedDateFormat</a>(<strong class="jxr_keyword">final</strong> DateFormat dateFormat, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> expiration) {
<a name="133" href="#133">133</a>     <strong class="jxr_keyword">if</strong> (dateFormat == <strong class="jxr_keyword">null</strong>) {
<a name="134" href="#134">134</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"dateFormat cannot be null"</span>);
<a name="135" href="#135">135</a>     }
<a name="136" href="#136">136</a> 
<a name="137" href="#137">137</a>     <strong class="jxr_keyword">if</strong> (expiration &lt; 0) {
<a name="138" href="#138">138</a>       <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IllegalArgumentException(<span class="jxr_string">"expiration must be non-negative"</span>);
<a name="139" href="#139">139</a>     }
<a name="140" href="#140">140</a> 
<a name="141" href="#141">141</a>     formatter = dateFormat;
<a name="142" href="#142">142</a>     <strong class="jxr_keyword">this</strong>.expiration = expiration;
<a name="143" href="#143">143</a>     millisecondStart = 0;
<a name="144" href="#144">144</a> 
<a name="145" href="#145">145</a>     <em class="jxr_comment">//</em>
<a name="146" href="#146">146</a>     <em class="jxr_comment">//   set the previousTime so the cache will be invalid</em>
<a name="147" href="#147">147</a>     <em class="jxr_comment">//        for the next request.</em>
<a name="148" href="#148">148</a>     previousTime = Long.MIN_VALUE;
<a name="149" href="#149">149</a>     slotBegin = Long.MIN_VALUE;
<a name="150" href="#150">150</a>   }
<a name="151" href="#151">151</a> 
<a name="152" href="#152">152</a>   <em class="jxr_javadoccomment">/**</em>
<a name="153" href="#153">153</a> <em class="jxr_javadoccomment">   * Finds start of millisecond field in formatted time.</em>
<a name="154" href="#154">154</a> <em class="jxr_javadoccomment">   * @param time long time, must be integral number of seconds</em>
<a name="155" href="#155">155</a> <em class="jxr_javadoccomment">   * @param formatted String corresponding formatted string</em>
<a name="156" href="#156">156</a> <em class="jxr_javadoccomment">   * @param formatter DateFormat date format</em>
<a name="157" href="#157">157</a> <em class="jxr_javadoccomment">   * @return int position in string of first digit of milliseconds,</em>
<a name="158" href="#158">158</a> <em class="jxr_javadoccomment">   *    -1 indicates no millisecond field, -2 indicates unrecognized</em>
<a name="159" href="#159">159</a> <em class="jxr_javadoccomment">   *    field (likely RelativeTimeDateFormat)</em>
<a name="160" href="#160">160</a> <em class="jxr_javadoccomment">   */</em>
<a name="161" href="#161">161</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> findMillisecondStart(
<a name="162" href="#162">162</a>     <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> time, <strong class="jxr_keyword">final</strong> String formatted, <strong class="jxr_keyword">final</strong> DateFormat formatter) {
<a name="163" href="#163">163</a>     <strong class="jxr_keyword">long</strong> slotBegin = (time / 1000) * 1000;
<a name="164" href="#164">164</a> 
<a name="165" href="#165">165</a>     <strong class="jxr_keyword">if</strong> (slotBegin &gt; time) {
<a name="166" href="#166">166</a>       slotBegin -= 1000;
<a name="167" href="#167">167</a>     }
<a name="168" href="#168">168</a> 
<a name="169" href="#169">169</a>     <strong class="jxr_keyword">int</strong> millis = (<strong class="jxr_keyword">int</strong>) (time - slotBegin);
<a name="170" href="#170">170</a> 
<a name="171" href="#171">171</a>     <strong class="jxr_keyword">int</strong> magic = MAGIC1;
<a name="172" href="#172">172</a>     String magicString = MAGICSTRING1;
<a name="173" href="#173">173</a> 
<a name="174" href="#174">174</a>     <strong class="jxr_keyword">if</strong> (millis == MAGIC1) {
<a name="175" href="#175">175</a>       magic = MAGIC2;
<a name="176" href="#176">176</a>       magicString = MAGICSTRING2;
<a name="177" href="#177">177</a>     }
<a name="178" href="#178">178</a> 
<a name="179" href="#179">179</a>     String plusMagic = formatter.format(<strong class="jxr_keyword">new</strong> Date(slotBegin + magic));
<a name="180" href="#180">180</a> 
<a name="181" href="#181">181</a>     <em class="jxr_javadoccomment">/**</em>
<a name="182" href="#182">182</a> <em class="jxr_javadoccomment">     *   If the string lengths differ then</em>
<a name="183" href="#183">183</a> <em class="jxr_javadoccomment">     *      we can't use the cache except for duplicate requests.</em>
<a name="184" href="#184">184</a> <em class="jxr_javadoccomment">     */</em>
<a name="185" href="#185">185</a>     <strong class="jxr_keyword">if</strong> (plusMagic.length() != formatted.length()) {
<a name="186" href="#186">186</a>       <strong class="jxr_keyword">return</strong> UNRECOGNIZED_MILLISECONDS;
<a name="187" href="#187">187</a>     } <strong class="jxr_keyword">else</strong> {
<a name="188" href="#188">188</a>       <em class="jxr_comment">// find first difference between values</em>
<a name="189" href="#189">189</a>       <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; formatted.length(); i++) {
<a name="190" href="#190">190</a>         <strong class="jxr_keyword">if</strong> (formatted.charAt(i) != plusMagic.charAt(i)) {
<a name="191" href="#191">191</a>           <em class="jxr_comment">//</em>
<a name="192" href="#192">192</a>           <em class="jxr_comment">//   determine the expected digits for the base time</em>
<a name="193" href="#193">193</a>           StringBuffer formattedMillis = <strong class="jxr_keyword">new</strong> StringBuffer(<span class="jxr_string">"ABC"</span>);
<a name="194" href="#194">194</a>           millisecondFormat(millis, formattedMillis, 0);
<a name="195" href="#195">195</a> 
<a name="196" href="#196">196</a>           String plusZero = formatter.format(<strong class="jxr_keyword">new</strong> Date(slotBegin));
<a name="197" href="#197">197</a> 
<a name="198" href="#198">198</a>           <em class="jxr_comment">//   If the next 3 characters match the magic</em>
<a name="199" href="#199">199</a>           <em class="jxr_comment">//      string and the expected string</em>
<a name="200" href="#200">200</a>           <strong class="jxr_keyword">if</strong> (
<a name="201" href="#201">201</a>             (plusZero.length() == formatted.length())
<a name="202" href="#202">202</a>               &amp;&amp; magicString.regionMatches(
<a name="203" href="#203">203</a>                 0, plusMagic, i, magicString.length())
<a name="204" href="#204">204</a>               &amp;&amp; formattedMillis.toString().regionMatches(
<a name="205" href="#205">205</a>                 0, formatted, i, magicString.length())
<a name="206" href="#206">206</a>               &amp;&amp; ZERO_STRING.regionMatches(
<a name="207" href="#207">207</a>                 0, plusZero, i, ZERO_STRING.length())) {
<a name="208" href="#208">208</a>             <strong class="jxr_keyword">return</strong> i;
<a name="209" href="#209">209</a>           } <strong class="jxr_keyword">else</strong> {
<a name="210" href="#210">210</a>             <strong class="jxr_keyword">return</strong> UNRECOGNIZED_MILLISECONDS;
<a name="211" href="#211">211</a>           }
<a name="212" href="#212">212</a>         }
<a name="213" href="#213">213</a>       }
<a name="214" href="#214">214</a>     }
<a name="215" href="#215">215</a> 
<a name="216" href="#216">216</a>     <strong class="jxr_keyword">return</strong> NO_MILLISECONDS;
<a name="217" href="#217">217</a>   }
<a name="218" href="#218">218</a> 
<a name="219" href="#219">219</a>   <em class="jxr_javadoccomment">/**</em>
<a name="220" href="#220">220</a> <em class="jxr_javadoccomment">   * Formats a Date into a date/time string.</em>
<a name="221" href="#221">221</a> <em class="jxr_javadoccomment">   *</em>
<a name="222" href="#222">222</a> <em class="jxr_javadoccomment">   *  @param date the date to format.</em>
<a name="223" href="#223">223</a> <em class="jxr_javadoccomment">   *  @param sbuf the string buffer to write to.</em>
<a name="224" href="#224">224</a> <em class="jxr_javadoccomment">   *  @param fieldPosition remains untouched.</em>
<a name="225" href="#225">225</a> <em class="jxr_javadoccomment">   * @return the formatted time string.</em>
<a name="226" href="#226">226</a> <em class="jxr_javadoccomment">   */</em>
<a name="227" href="#227">227</a>   <strong class="jxr_keyword">public</strong> StringBuffer format(
<a name="228" href="#228">228</a>     Date date, StringBuffer sbuf, FieldPosition fieldPosition) {
<a name="229" href="#229">229</a>     format(date.getTime(), sbuf);
<a name="230" href="#230">230</a> 
<a name="231" href="#231">231</a>     <strong class="jxr_keyword">return</strong> sbuf;
<a name="232" href="#232">232</a>   }
<a name="233" href="#233">233</a> 
<a name="234" href="#234">234</a>   <em class="jxr_javadoccomment">/**</em>
<a name="235" href="#235">235</a> <em class="jxr_javadoccomment">   * Formats a millisecond count into a date/time string.</em>
<a name="236" href="#236">236</a> <em class="jxr_javadoccomment">   *</em>
<a name="237" href="#237">237</a> <em class="jxr_javadoccomment">   *  @param now Number of milliseconds after midnight 1 Jan 1970 GMT.</em>
<a name="238" href="#238">238</a> <em class="jxr_javadoccomment">   *  @param buf the string buffer to write to.</em>
<a name="239" href="#239">239</a> <em class="jxr_javadoccomment">   * @return the formatted time string.</em>
<a name="240" href="#240">240</a> <em class="jxr_javadoccomment">   */</em>
<a name="241" href="#241">241</a>   <strong class="jxr_keyword">public</strong> StringBuffer format(<strong class="jxr_keyword">long</strong> now, StringBuffer buf) {
<a name="242" href="#242">242</a>     <em class="jxr_comment">//</em>
<a name="243" href="#243">243</a>     <em class="jxr_comment">// If the current requested time is identical to the previously</em>
<a name="244" href="#244">244</a>     <em class="jxr_comment">//     requested time, then append the cache contents.</em>
<a name="245" href="#245">245</a>     <em class="jxr_comment">//</em>
<a name="246" href="#246">246</a>     <strong class="jxr_keyword">if</strong> (now == previousTime) {
<a name="247" href="#247">247</a>       buf.append(cache);
<a name="248" href="#248">248</a> 
<a name="249" href="#249">249</a>       <strong class="jxr_keyword">return</strong> buf;
<a name="250" href="#250">250</a>     }
<a name="251" href="#251">251</a> 
<a name="252" href="#252">252</a>     <em class="jxr_comment">//</em>
<a name="253" href="#253">253</a>     <em class="jxr_comment">//   If millisecond pattern was not unrecognized </em>
<a name="254" href="#254">254</a>     <em class="jxr_comment">//     (that is if it was found or milliseconds did not appear)   </em>
<a name="255" href="#255">255</a>     <em class="jxr_comment">//    </em>
<a name="256" href="#256">256</a>     <strong class="jxr_keyword">if</strong> (millisecondStart != UNRECOGNIZED_MILLISECONDS &amp;&amp;
<a name="257" href="#257">257</a>       <em class="jxr_comment">//    Check if the cache is still valid.</em>
<a name="258" href="#258">258</a>       <em class="jxr_comment">//    If the requested time is within the same integral second</em>
<a name="259" href="#259">259</a>       <em class="jxr_comment">//       as the last request and a shorter expiration was not requested.</em>
<a name="260" href="#260">260</a>         (now &lt; (slotBegin + expiration)) &amp;&amp; (now &gt;= slotBegin)
<a name="261" href="#261">261</a>           &amp;&amp; (now &lt; (slotBegin + 1000L))) {
<a name="262" href="#262">262</a>         <em class="jxr_comment">// </em>
<a name="263" href="#263">263</a>         <em class="jxr_comment">//    if there was a millisecond field then update it</em>
<a name="264" href="#264">264</a>         <em class="jxr_comment">//</em>
<a name="265" href="#265">265</a>         <strong class="jxr_keyword">if</strong> (millisecondStart &gt;= 0) {
<a name="266" href="#266">266</a>           millisecondFormat((<strong class="jxr_keyword">int</strong>) (now - slotBegin), cache, millisecondStart);
<a name="267" href="#267">267</a>         }
<a name="268" href="#268">268</a> 
<a name="269" href="#269">269</a>         <em class="jxr_comment">//</em>
<a name="270" href="#270">270</a>         <em class="jxr_comment">//   update the previously requested time</em>
<a name="271" href="#271">271</a>         <em class="jxr_comment">//      (the slot begin should be unchanged)</em>
<a name="272" href="#272">272</a>         previousTime = now;
<a name="273" href="#273">273</a>         buf.append(cache);
<a name="274" href="#274">274</a> 
<a name="275" href="#275">275</a>         <strong class="jxr_keyword">return</strong> buf;
<a name="276" href="#276">276</a>     }
<a name="277" href="#277">277</a> 
<a name="278" href="#278">278</a>     <em class="jxr_comment">//</em>
<a name="279" href="#279">279</a>     <em class="jxr_comment">//  could not use previous value.  </em>
<a name="280" href="#280">280</a>     <em class="jxr_comment">//    Call underlying formatter to format date.</em>
<a name="281" href="#281">281</a>     cache.setLength(0);
<a name="282" href="#282">282</a>     tmpDate.setTime(now);
<a name="283" href="#283">283</a>     cache.append(formatter.format(tmpDate));
<a name="284" href="#284">284</a>     buf.append(cache);
<a name="285" href="#285">285</a>     previousTime = now;
<a name="286" href="#286">286</a>     slotBegin = (previousTime / 1000) * 1000;
<a name="287" href="#287">287</a> 
<a name="288" href="#288">288</a>     <strong class="jxr_keyword">if</strong> (slotBegin &gt; previousTime) {
<a name="289" href="#289">289</a>       slotBegin -= 1000;
<a name="290" href="#290">290</a>     }
<a name="291" href="#291">291</a> 
<a name="292" href="#292">292</a>     <em class="jxr_comment">//</em>
<a name="293" href="#293">293</a>     <em class="jxr_comment">//    if the milliseconds field was previous found</em>
<a name="294" href="#294">294</a>     <em class="jxr_comment">//       then reevaluate in case it moved.</em>
<a name="295" href="#295">295</a>     <em class="jxr_comment">//</em>
<a name="296" href="#296">296</a>     <strong class="jxr_keyword">if</strong> (millisecondStart &gt;= 0) {
<a name="297" href="#297">297</a>       millisecondStart =
<a name="298" href="#298">298</a>         findMillisecondStart(now, cache.toString(), formatter);
<a name="299" href="#299">299</a>     }
<a name="300" href="#300">300</a> 
<a name="301" href="#301">301</a>     <strong class="jxr_keyword">return</strong> buf;
<a name="302" href="#302">302</a>   }
<a name="303" href="#303">303</a> 
<a name="304" href="#304">304</a>   <em class="jxr_javadoccomment">/**</em>
<a name="305" href="#305">305</a> <em class="jxr_javadoccomment">   *   Formats a count of milliseconds (0-999) into a numeric representation.</em>
<a name="306" href="#306">306</a> <em class="jxr_javadoccomment">   *   @param millis Millisecond coun between 0 and 999.</em>
<a name="307" href="#307">307</a> <em class="jxr_javadoccomment">   *   @param buf String buffer, may not be null.</em>
<a name="308" href="#308">308</a> <em class="jxr_javadoccomment">   *   @param offset Starting position in buffer, the length of the</em>
<a name="309" href="#309">309</a> <em class="jxr_javadoccomment">   *       buffer must be at least offset + 3.</em>
<a name="310" href="#310">310</a> <em class="jxr_javadoccomment">   */</em>
<a name="311" href="#311">311</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> millisecondFormat(
<a name="312" href="#312">312</a>     <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> millis, <strong class="jxr_keyword">final</strong> StringBuffer buf, <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> offset) {
<a name="313" href="#313">313</a>     buf.setCharAt(offset, DIGITS.charAt(millis / 100));
<a name="314" href="#314">314</a>     buf.setCharAt(offset + 1, DIGITS.charAt((millis / 10) % 10));
<a name="315" href="#315">315</a>     buf.setCharAt(offset + 2, DIGITS.charAt(millis % 10));
<a name="316" href="#316">316</a>   }
<a name="317" href="#317">317</a> 
<a name="318" href="#318">318</a>   <em class="jxr_javadoccomment">/**</em>
<a name="319" href="#319">319</a> <em class="jxr_javadoccomment">   * Set timezone.</em>
<a name="320" href="#320">320</a> <em class="jxr_javadoccomment">   *</em>
<a name="321" href="#321">321</a> <em class="jxr_javadoccomment">   * Setting the timezone using getCalendar().setTimeZone()</em>
<a name="322" href="#322">322</a> <em class="jxr_javadoccomment">   * will likely cause caching to misbehave.</em>
<a name="323" href="#323">323</a> <em class="jxr_javadoccomment">   * @param timeZone TimeZone new timezone</em>
<a name="324" href="#324">324</a> <em class="jxr_javadoccomment">   */</em>
<a name="325" href="#325">325</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setTimeZone(<strong class="jxr_keyword">final</strong> TimeZone timeZone) {
<a name="326" href="#326">326</a>     formatter.setTimeZone(timeZone);
<a name="327" href="#327">327</a>     previousTime = Long.MIN_VALUE;
<a name="328" href="#328">328</a>     slotBegin = Long.MIN_VALUE;
<a name="329" href="#329">329</a>   }
<a name="330" href="#330">330</a> 
<a name="331" href="#331">331</a>   <em class="jxr_javadoccomment">/**</em>
<a name="332" href="#332">332</a> <em class="jxr_javadoccomment">   *  This method is delegated to the formatter which most</em>
<a name="333" href="#333">333</a> <em class="jxr_javadoccomment">   *  likely returns null.</em>
<a name="334" href="#334">334</a> <em class="jxr_javadoccomment">   * @param s string representation of date.</em>
<a name="335" href="#335">335</a> <em class="jxr_javadoccomment">   * @param pos field position, unused.</em>
<a name="336" href="#336">336</a> <em class="jxr_javadoccomment">   * @return parsed date, likely null.</em>
<a name="337" href="#337">337</a> <em class="jxr_javadoccomment">   */</em>
<a name="338" href="#338">338</a>   <strong class="jxr_keyword">public</strong> Date parse(String s, ParsePosition pos) {
<a name="339" href="#339">339</a>     <strong class="jxr_keyword">return</strong> formatter.parse(s, pos);
<a name="340" href="#340">340</a>   }
<a name="341" href="#341">341</a> 
<a name="342" href="#342">342</a>   <em class="jxr_javadoccomment">/**</em>
<a name="343" href="#343">343</a> <em class="jxr_javadoccomment">   * Gets number formatter.</em>
<a name="344" href="#344">344</a> <em class="jxr_javadoccomment">   *</em>
<a name="345" href="#345">345</a> <em class="jxr_javadoccomment">   * @return NumberFormat number formatter</em>
<a name="346" href="#346">346</a> <em class="jxr_javadoccomment">   */</em>
<a name="347" href="#347">347</a>   <strong class="jxr_keyword">public</strong> NumberFormat getNumberFormat() {
<a name="348" href="#348">348</a>     <strong class="jxr_keyword">return</strong> formatter.getNumberFormat();
<a name="349" href="#349">349</a>   }
<a name="350" href="#350">350</a> 
<a name="351" href="#351">351</a>   <em class="jxr_javadoccomment">/**</em>
<a name="352" href="#352">352</a> <em class="jxr_javadoccomment">   * Gets maximum cache validity for the specified SimpleDateTime</em>
<a name="353" href="#353">353</a> <em class="jxr_javadoccomment">   *    conversion pattern.</em>
<a name="354" href="#354">354</a> <em class="jxr_javadoccomment">   *  @param pattern conversion pattern, may not be null.</em>
<a name="355" href="#355">355</a> <em class="jxr_javadoccomment">   *  @return Duration in milliseconds from an integral second</em>
<a name="356" href="#356">356</a> <em class="jxr_javadoccomment">   *      that the cache will return consistent results.</em>
<a name="357" href="#357">357</a> <em class="jxr_javadoccomment">   */</em>
<a name="358" href="#358">358</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">int</strong> getMaximumCacheValidity(<strong class="jxr_keyword">final</strong> String pattern) {
<a name="359" href="#359">359</a>     <em class="jxr_comment">//</em>
<a name="360" href="#360">360</a>     <em class="jxr_comment">//   If there are more "S" in the pattern than just one "SSS" then</em>
<a name="361" href="#361">361</a>     <em class="jxr_comment">//      (for example, "HH:mm:ss,SSS SSS"), then set the expiration to</em>
<a name="362" href="#362">362</a>     <em class="jxr_comment">//      one millisecond which should only perform duplicate request caching.</em>
<a name="363" href="#363">363</a>     <em class="jxr_comment">//</em>
<a name="364" href="#364">364</a>     <strong class="jxr_keyword">int</strong> firstS = pattern.indexOf('S');
<a name="365" href="#365">365</a> 
<a name="366" href="#366">366</a>     <strong class="jxr_keyword">if</strong> ((firstS &gt;= 0) &amp;&amp; (firstS != pattern.lastIndexOf(<span class="jxr_string">"SSS"</span>))) {
<a name="367" href="#367">367</a>       <strong class="jxr_keyword">return</strong> 1;
<a name="368" href="#368">368</a>     }
<a name="369" href="#369">369</a> 
<a name="370" href="#370">370</a>     <strong class="jxr_keyword">return</strong> 1000;
<a name="371" href="#371">371</a>   }
<a name="372" href="#372">372</a> }
</pre>
<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
</html>

