<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head><meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>PathSortByModificationTime xref</title>
<link type="text/css" rel="stylesheet" href="../../../../../../../../stylesheet.css" />
</head>
<body>
<div id="overview"><a href="../../../../../../../../../apidocs/org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.html">View Javadoc</a></div><pre>
<a class="jxr_linenumber" name="L1" href="#L1">1</a>   <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L2" href="#L2">2</a>   <em class="jxr_comment"> * Licensed to the Apache Software Foundation (ASF) under one or more</em>
<a class="jxr_linenumber" name="L3" href="#L3">3</a>   <em class="jxr_comment"> * contributor license agreements. See the NOTICE file distributed with</em>
<a class="jxr_linenumber" name="L4" href="#L4">4</a>   <em class="jxr_comment"> * this work for additional information regarding copyright ownership.</em>
<a class="jxr_linenumber" name="L5" href="#L5">5</a>   <em class="jxr_comment"> * The ASF licenses this file to You under the Apache license, Version 2.0</em>
<a class="jxr_linenumber" name="L6" href="#L6">6</a>   <em class="jxr_comment"> * (the "License"); you may not use this file except in compliance with</em>
<a class="jxr_linenumber" name="L7" href="#L7">7</a>   <em class="jxr_comment"> * the License. You may obtain a copy of the License at</em>
<a class="jxr_linenumber" name="L8" href="#L8">8</a>   <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L9" href="#L9">9</a>   <em class="jxr_comment"> *      <a href="http://www.apache.org/licenses/LICENSE-2." target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.</a>0</em>
<a class="jxr_linenumber" name="L10" href="#L10">10</a>  <em class="jxr_comment"> *</em>
<a class="jxr_linenumber" name="L11" href="#L11">11</a>  <em class="jxr_comment"> * Unless required by applicable law or agreed to in writing, software</em>
<a class="jxr_linenumber" name="L12" href="#L12">12</a>  <em class="jxr_comment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
<a class="jxr_linenumber" name="L13" href="#L13">13</a>  <em class="jxr_comment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
<a class="jxr_linenumber" name="L14" href="#L14">14</a>  <em class="jxr_comment"> * See the license for the specific language governing permissions and</em>
<a class="jxr_linenumber" name="L15" href="#L15">15</a>  <em class="jxr_comment"> * limitations under the license.</em>
<a class="jxr_linenumber" name="L16" href="#L16">16</a>  <em class="jxr_comment"> */</em>
<a class="jxr_linenumber" name="L17" href="#L17">17</a>  
<a class="jxr_linenumber" name="L18" href="#L18">18</a>  <strong class="jxr_keyword">package</strong> org.apache.logging.log4j.core.appender.rolling.action;
<a class="jxr_linenumber" name="L19" href="#L19">19</a>  
<a class="jxr_linenumber" name="L20" href="#L20">20</a>  <strong class="jxr_keyword">import</strong> java.io.Serializable;
<a class="jxr_linenumber" name="L21" href="#L21">21</a>  
<a class="jxr_linenumber" name="L22" href="#L22">22</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.Core;
<a class="jxr_linenumber" name="L23" href="#L23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.Plugin;
<a class="jxr_linenumber" name="L24" href="#L24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.PluginAttribute;
<a class="jxr_linenumber" name="L25" href="#L25">25</a>  <strong class="jxr_keyword">import</strong> org.apache.logging.log4j.core.config.plugins.PluginFactory;
<a class="jxr_linenumber" name="L26" href="#L26">26</a>  
<a class="jxr_linenumber" name="L27" href="#L27">27</a>  <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L28" href="#L28">28</a>  <em class="jxr_javadoccomment"> * {@link PathSorter} that sorts path by their LastModified attribute.</em>
<a class="jxr_linenumber" name="L29" href="#L29">29</a>  <em class="jxr_javadoccomment"> */</em>
<a class="jxr_linenumber" name="L30" href="#L30">30</a>  @Plugin(name = <span class="jxr_string">"SortByModificationTime"</span>, category = Core.CATEGORY_NAME, printObject = <strong class="jxr_keyword">true</strong>)
<a class="jxr_linenumber" name="L31" href="#L31">31</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.html">PathSortByModificationTime</a> <strong class="jxr_keyword">implements</strong> PathSorter, Serializable {
<a class="jxr_linenumber" name="L32" href="#L32">32</a>  
<a class="jxr_linenumber" name="L33" href="#L33">33</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 = 1L;
<a class="jxr_linenumber" name="L34" href="#L34">34</a>  
<a class="jxr_linenumber" name="L35" href="#L35">35</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> recentFirst;
<a class="jxr_linenumber" name="L36" href="#L36">36</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> multiplier;
<a class="jxr_linenumber" name="L37" href="#L37">37</a>  
<a class="jxr_linenumber" name="L38" href="#L38">38</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L39" href="#L39">39</a>  <em class="jxr_javadoccomment">     * Constructs a new SortByModificationTime sorter.</em>
<a class="jxr_linenumber" name="L40" href="#L40">40</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L41" href="#L41">41</a>  <em class="jxr_javadoccomment">     * @param recentFirst if true, most recently modified paths should come first</em>
<a class="jxr_linenumber" name="L42" href="#L42">42</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L43" href="#L43">43</a>      <strong class="jxr_keyword">public</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.html">PathSortByModificationTime</a>(<strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> recentFirst) {
<a class="jxr_linenumber" name="L44" href="#L44">44</a>          <strong class="jxr_keyword">this</strong>.recentFirst = recentFirst;
<a class="jxr_linenumber" name="L45" href="#L45">45</a>          <strong class="jxr_keyword">this</strong>.multiplier = recentFirst ? 1 : -1;
<a class="jxr_linenumber" name="L46" href="#L46">46</a>      }
<a class="jxr_linenumber" name="L47" href="#L47">47</a>  
<a class="jxr_linenumber" name="L48" href="#L48">48</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L49" href="#L49">49</a>  <em class="jxr_javadoccomment">     * Create a PathSorter that sorts by lastModified time.</em>
<a class="jxr_linenumber" name="L50" href="#L50">50</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L51" href="#L51">51</a>  <em class="jxr_javadoccomment">     * @param recentFirst if true, most recently modified paths should come first.</em>
<a class="jxr_linenumber" name="L52" href="#L52">52</a>  <em class="jxr_javadoccomment">     * @return A PathSorter.</em>
<a class="jxr_linenumber" name="L53" href="#L53">53</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L54" href="#L54">54</a>      @PluginFactory
<a class="jxr_linenumber" name="L55" href="#L55">55</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathSorter.html">PathSorter</a> createSorter(
<a class="jxr_linenumber" name="L56" href="#L56">56</a>              @PluginAttribute(value = <span class="jxr_string">"recentFirst"</span>, defaultBoolean = <strong class="jxr_keyword">true</strong>) <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> recentFirst) {
<a class="jxr_linenumber" name="L57" href="#L57">57</a>          <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">new</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathSortByModificationTime.html">PathSortByModificationTime</a>(recentFirst);
<a class="jxr_linenumber" name="L58" href="#L58">58</a>      }
<a class="jxr_linenumber" name="L59" href="#L59">59</a>  
<a class="jxr_linenumber" name="L60" href="#L60">60</a>      <em class="jxr_javadoccomment">/**</em>
<a class="jxr_linenumber" name="L61" href="#L61">61</a>  <em class="jxr_javadoccomment">     * Returns whether this sorter sorts recent files first.</em>
<a class="jxr_linenumber" name="L62" href="#L62">62</a>  <em class="jxr_javadoccomment">     *</em>
<a class="jxr_linenumber" name="L63" href="#L63">63</a>  <em class="jxr_javadoccomment">     * @return whether this sorter sorts recent files first</em>
<a class="jxr_linenumber" name="L64" href="#L64">64</a>  <em class="jxr_javadoccomment">     */</em>
<a class="jxr_linenumber" name="L65" href="#L65">65</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> isRecentFirst() {
<a class="jxr_linenumber" name="L66" href="#L66">66</a>          <strong class="jxr_keyword">return</strong> recentFirst;
<a class="jxr_linenumber" name="L67" href="#L67">67</a>      }
<a class="jxr_linenumber" name="L68" href="#L68">68</a>  
<a class="jxr_linenumber" name="L69" href="#L69">69</a>      <em class="jxr_comment">/*</em>
<a class="jxr_linenumber" name="L70" href="#L70">70</a>  <em class="jxr_comment">     * (non-Javadoc)</em>
<a class="jxr_linenumber" name="L71" href="#L71">71</a>  <em class="jxr_comment">     *</em>
<a class="jxr_linenumber" name="L72" href="#L72">72</a>  <em class="jxr_comment">     * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)</em>
<a class="jxr_linenumber" name="L73" href="#L73">73</a>  <em class="jxr_comment">     */</em>
<a class="jxr_linenumber" name="L74" href="#L74">74</a>      @Override
<a class="jxr_linenumber" name="L75" href="#L75">75</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">int</strong> compare(<strong class="jxr_keyword">final</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathWithAttributes.html">PathWithAttributes</a> path1, <strong class="jxr_keyword">final</strong> <a href="../../../../../../../../org/apache/logging/log4j/core/appender/rolling/action/PathWithAttributes.html">PathWithAttributes</a> path2) {
<a class="jxr_linenumber" name="L76" href="#L76">76</a>          <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> lastModified1 = path1.getAttributes().lastModifiedTime().toMillis();
<a class="jxr_linenumber" name="L77" href="#L77">77</a>          <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> lastModified2 = path2.getAttributes().lastModifiedTime().toMillis();
<a class="jxr_linenumber" name="L78" href="#L78">78</a>          <strong class="jxr_keyword">int</strong> result = Long.signum(lastModified2 - lastModified1);
<a class="jxr_linenumber" name="L79" href="#L79">79</a>          <strong class="jxr_keyword">if</strong> (result == 0) { <em class="jxr_comment">// if same time compare paths lexicographically</em>
<a class="jxr_linenumber" name="L80" href="#L80">80</a>              <strong class="jxr_keyword">try</strong> {
<a class="jxr_linenumber" name="L81" href="#L81">81</a>                  <em class="jxr_comment">// assuming paths contain counters and dates, use reverse lexicographical order:</em>
<a class="jxr_linenumber" name="L82" href="#L82">82</a>                  <em class="jxr_comment">// 20151129 before 20151128, path-2.log before path-1.log</em>
<a class="jxr_linenumber" name="L83" href="#L83">83</a>                  result = path2.getPath().compareTo(path1.getPath());
<a class="jxr_linenumber" name="L84" href="#L84">84</a>              } <strong class="jxr_keyword">catch</strong> (<strong class="jxr_keyword">final</strong> ClassCastException ex) {
<a class="jxr_linenumber" name="L85" href="#L85">85</a>                  result = path2.getPath().toString().compareTo(path1.getPath().toString());
<a class="jxr_linenumber" name="L86" href="#L86">86</a>              }
<a class="jxr_linenumber" name="L87" href="#L87">87</a>          }
<a class="jxr_linenumber" name="L88" href="#L88">88</a>          <strong class="jxr_keyword">return</strong> multiplier * result;
<a class="jxr_linenumber" name="L89" href="#L89">89</a>      }
<a class="jxr_linenumber" name="L90" href="#L90">90</a>  }
</pre>
<hr/>
<div id="footer">Copyright &#169; 1999&#x2013;2019 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</div>
</body>
</html>
