KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > roller > pojos > WeblogEntryComparator


1 /*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. The ASF licenses this file to You
4 * under the Apache License, Version 2.0 (the "License"); you may not
5 * use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License. For additional information regarding
15 * copyright in this work, please see the NOTICE file in the top level
16 * directory of this distribution.
17 */

18 /*
19  * Created on Apr 16, 2004
20  */

21 package org.apache.roller.pojos;
22
23 import java.io.Serializable JavaDoc;
24 import java.util.Comparator JavaDoc;
25
26 /**
27  * Sorts WeblogEntryData objects in reverse chronological order
28  * (most recently published entries first). If they happen to
29  * have the same pubTime, then sort alphabetically by title.
30  *
31  * @author lance.lavandowska
32  */

33 public class WeblogEntryComparator implements Comparator JavaDoc, Serializable JavaDoc
34 {
35     static final long serialVersionUID = -9067148992322255150L;
36     
37     public int compare(Object JavaDoc val1, Object JavaDoc val2)
38     throws ClassCastException JavaDoc
39     {
40         WeblogEntryData entry1 = (WeblogEntryData)val1;
41         WeblogEntryData entry2 = (WeblogEntryData)val2;
42         long pubTime1 = entry1.getPubTime().getTime();
43         long pubTime2 = entry2.getPubTime().getTime();
44
45         if (pubTime1 > pubTime2)
46         {
47             return -1;
48         }
49         else if (pubTime1 < pubTime2)
50         {
51             return 1;
52         }
53
54         // if pubTimes are the same, return
55
// results of String.compareTo() on Title
56
return entry1.getTitle().compareTo(entry2.getTitle());
57     }
58 }
59
Popular Tags