org.apache.commons.io.comparator
public class ExtensionFileComparator extends Object implements Comparator, Serializable
This comparator can be used to sort lists or arrays of files by their file extension either in a case-sensitive, case-insensitive or system dependant case sensitive way. A number of singleton instances are provided for the various case sensitivity options (using IOCase) and the reverse of those options.
Example of a case-sensitive file extension sort using the EXTENSION_COMPARATOR singleton instance:
List<File> list = ... Collections.sort(list, ExtensionFileComparator.EXTENSION_COMPARATOR);
Example of a reverse case-insensitive file extension sort using the EXTENSION_INSENSITIVE_REVERSE singleton instance:
File[] array = ... Arrays.sort(array, ExtensionFileComparator.EXTENSION_INSENSITIVE_REVERSE);
Since: Commons IO 1.4
Version: $Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $
Field Summary | |
---|---|
IOCase | caseSensitivity Whether the comparison is case sensitive. |
static Comparator | EXTENSION_COMPARATOR Case-sensitive extension comparator instance (see SENSITIVE) |
static Comparator | EXTENSION_INSENSITIVE_COMPARATOR Case-insensitive extension comparator instance (see INSENSITIVE) |
static Comparator | EXTENSION_INSENSITIVE_REVERSE Reverse case-insensitive extension comparator instance (see INSENSITIVE) |
static Comparator | EXTENSION_REVERSE Reverse case-sensitive extension comparator instance (see SENSITIVE) |
static Comparator | EXTENSION_SYSTEM_COMPARATOR System sensitive extension comparator instance (see SYSTEM) |
static Comparator | EXTENSION_SYSTEM_REVERSE Reverse system sensitive path comparator instance (see SYSTEM) |
Constructor Summary | |
---|---|
ExtensionFileComparator()
Construct a case sensitive file extension comparator instance. | |
ExtensionFileComparator(IOCase caseSensitivity)
Construct a file extension comparator instance with the specified case-sensitivity.
|
Method Summary | |
---|---|
int | compare(Object obj1, Object obj2)
Compare the extensions of two files the specified case sensitivity.
|
Parameters: caseSensitivity how to handle case sensitivity, null means case-sensitive
Parameters: obj1 The first file to compare obj2 The second file to compare
Returns: a negative value if the first file's extension is less than the second, zero if the extensions are the same and a positive value if the first files extension is greater than the second file.