Dateiverwaltung für die WebBox
ulrich
2017-08-05 76660f9ecd53c1a6f41433c0e68ba73b507a6d39
commit | author | age
5410ce 1 package de.uhilger.filecms.pub;
U 2
3 import java.io.File;
4 import java.util.Comparator;
17414d 5 import java.util.Date;
U 6 import java.util.logging.Logger;
5410ce 7
U 8 /**
9  *
10  * @author ulrich
11  */
12 public class FileDateComparator implements Comparator {
13   
17414d 14   private static final Logger logger = Logger.getLogger(FileDateComparator.class.getName());
U 15
5410ce 16   private String order;
U 17   
18   public FileDateComparator(String order) {
19     this.order = order;
20   }
21
22   @Override
23   public int compare(Object obj1, Object obj2) {
24     File f1 = null;
25     File f2 = null;
26     if(obj1 instanceof File) {
27       f1 = (File) obj1;
28     }
29     if(obj2 instanceof File) {
30       f2 = (File) obj2;
31     }
32     if(f1 != null && f2 != null) {
17414d 33       Date l1 = new Date(f1.lastModified());
U 34       Date l2 = new Date(f2.lastModified());
5410ce 35       if(order != null && order.equalsIgnoreCase("asc")) {
17414d 36           if(l1.before(l2)) {
U 37             logger.fine("asc: " + f1.getName() + " kleiner " + f2.getName());
5410ce 38             return -1;
17414d 39           } else if(l1.after(l2)) {
U 40             logger.fine("asc: " + f1.getName() + " groesser " + f2.getName());
5410ce 41             return 1;
U 42           } else {
17414d 43             logger.fine("asc: " + f1.getName() + " gleich " + f2.getName());
5410ce 44             return 0;
U 45           }
46       } else {
17414d 47           if(l1.before(l2)) {
U 48             logger.fine("desc: " + f1.getName() + " groesser " + f2.getName());
5410ce 49             return 1;
17414d 50           } else if(l1.after(l2)) {
U 51             logger.fine("desc: " + f1.getName() + " kleiner " + f2.getName());
5410ce 52             return -1;
U 53           } else {
17414d 54             logger.fine("desc: " + f1.getName() + " gleich " + f2.getName());
5410ce 55             return 0;
U 56           }
57       }
58     } else {
17414d 59       logger.fine("f1 oder f2 null");
5410ce 60       return 0;
U 61     }
62   }
63   
64 }