private Comparator<File> getComparator(SortParam<String> sort) { if (sort == null) return FILE_NAME_COMPARATOR; // build base comparator Comparator<File> comparator = null; if (NAME.equals(sort.getProperty())) { comparator = FILE_NAME_COMPARATOR; } else if (LAST_MODIFIED.equals(sort.getProperty())) { comparator = FILE_LM_COMPARATOR; } else if (SIZE.equals(sort.getProperty())) { comparator = FILE_SIZE_COMPARATOR; } else { throw new IllegalArgumentException("Uknown sorting property " + sort.getProperty()); } // reverse comparison direction if needed if (sort.isAscending()) return comparator; else return new ReverseComparator(comparator); }
private Comparator<File> getComparator(SortParam sort) { if (sort == null) return FILE_NAME_COMPARATOR; // build base comparator Comparator<File> comparator = null; if (NAME.equals(sort.getProperty())) { comparator = FILE_NAME_COMPARATOR; } else if (LAST_MODIFIED.equals(sort.getProperty())) { comparator = FILE_LM_COMPARATOR; } else if (SIZE.equals(sort.getProperty())) { comparator = FILE_SIZE_COMPARATOR; } else { throw new IllegalArgumentException("Uknown sorting property " + sort.getProperty()); } // reverse comparison direction if needed if (sort.isAscending()) return comparator; else return new ReverseComparator(comparator); }