KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > mail > gui > tree > comparator > UnreadFolderComparator


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.mail.gui.tree.comparator;
17
18 import org.columba.mail.folder.IMailbox;
19 import org.columba.mail.folder.IMailboxInfo;
20
21 /**
22  * Folder comparator that sorts the folders based on the number of unread
23  * messages.
24  *
25  * @author redsolo
26  */

27 public class UnreadFolderComparator extends FolderComparator {
28
29     /**
30      * @param ascending
31      * if the sorting is ascending or not.
32      */

33     public UnreadFolderComparator(boolean ascending) {
34         super(ascending);
35     }
36
37     /** {@inheritDoc} */
38     protected int compareFolders(IMailbox folder1, IMailbox folder2) {
39         int compValue = 0;
40
41         IMailboxInfo info1;
42         IMailboxInfo info2;
43         try {
44             info1 = ((IMailbox) folder1).getMessageFolderInfo();
45             info2 = ((IMailbox) folder2).getMessageFolderInfo();
46             if (info1.getUnseen() != info2.getUnseen()) {
47                 compValue = info2.getUnseen() - info1.getUnseen();
48             } else {
49                 compValue = super.compareFolders(folder1, folder2);
50             }
51
52         } catch (Exception JavaDoc e) {
53
54             e.printStackTrace();
55         }
56
57         return compValue;
58     }
59 }
60
Popular Tags