01: package org.claros.commons.mail.comparator;
02:
03: import java.util.Comparator;
04:
05: import org.claros.commons.mail.models.EmailHeader;
06:
07: public class ComparatorSize implements Comparator {
08: private int left = 1;
09: private int right = -1;
10:
11: public ComparatorSize(boolean ascending) {
12: if (ascending) {
13: left = -1;
14: right = 1;
15: }
16: }
17:
18: /* (non-Javadoc)
19: * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
20: */
21: public int compare(Object arg0, Object arg1) {
22: if (arg0 != null && arg1 != null && arg0 instanceof EmailHeader
23: && arg1 instanceof EmailHeader) {
24: EmailHeader h1 = (EmailHeader) arg0;
25: EmailHeader h2 = (EmailHeader) arg1;
26: long dt1 = h1.getSize();
27: long dt2 = h2.getSize();
28:
29: if (dt1 == -1) {
30: return right;
31: } else if (dt2 == -1) {
32: return left;
33: } else if (dt1 > dt2) {
34: return right;
35: } else if (dt1 < dt2) {
36: return left;
37: } else {
38: return 0;
39: }
40: }
41: return right;
42: }
43: }
|