FileSorterByDate.java 1.37 KB
/*
 * Decompiled with CFR 0_118.
 */
package com.adobe.aemfd.watchfolder.job;

import java.io.File;
import java.util.Arrays;
import java.util.Comparator;

public class FileSorterByDate {
    public FileWrapper[] sortFiles(File[] fileList) {
        FileWrapper[] fw = null;
        if (fileList != null) {
            fw = new FileWrapper[fileList.length];
            for (int i = 0; i < fw.length; ++i) {
                FileWrapper ff = new FileWrapper();
                ff.file = fileList[i];
                ff.lastModified = ff.file.lastModified();
                fw[i] = ff;
            }
            Arrays.sort(fw, new FileComparator());
        }
        return fw;
    }

    /*
     * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
     */
    private static class FileComparator
    implements Comparator<FileWrapper> {
        private FileComparator() {
        }

        @Override
        public int compare(FileWrapper o1, FileWrapper o2) {
            long f2Time;
            long f1Time = o1.lastModified;
            if (f1Time == (f2Time = o2.lastModified.longValue())) {
                return 0;
            }
            if (f1Time < f2Time) {
                return -1;
            }
            return 1;
        }
    }

    public static class FileWrapper {
        public File file;
        public Long lastModified;
    }

}