001package com.pingidentity.util;
002
003import java.io.File;
004import java.io.IOException;
005import java.nio.file.Files;
006import java.nio.file.attribute.FileTime;
007import java.util.Comparator;
008
009public class CreateComparator implements Comparator<File> {
010    int factor = 1;
011    public CreateComparator(boolean reversed) {
012        if (reversed) factor = -1;
013    }
014
015    @Override
016    public int compare(File f1, File f2) {
017        try {
018            FileTime f1Timestamp = (FileTime) Files.getAttribute(f1.toPath(),"creationTime");
019            FileTime f2Timestamp = (FileTime) Files.getAttribute(f2.toPath(),"creationTime");
020            if ( f1Timestamp != null && f2Timestamp != null ){
021                return f1Timestamp.compareTo(f2Timestamp) * factor;
022            } else {
023                System.out.println("There was a problem comparing "+f1.getName()+ " and "+ f2.getName() + " timestamps.");
024            }
025        } catch (IOException e) {
026            e.printStackTrace();
027        }
028        return 0;
029    }
030}