org.apache.commons.io.comparator
Class ExtensionFileComparator
java.lang.Object
org.apache.commons.io.comparator.ExtensionFileComparator
- Comparator, Serializable
public class ExtensionFileComparator
extends java.lang.Object
implements Comparator, Serializable
Compare the file name
extensions for order
(see
FilenameUtils.getExtension(String)
).
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);
$Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $
int | compare(Object obj1, Object obj2) - Compare the extensions of two files the specified case sensitivity.
|
EXTENSION_COMPARATOR
public static final Comparator EXTENSION_COMPARATOR
EXTENSION_INSENSITIVE_COMPARATOR
public static final Comparator EXTENSION_INSENSITIVE_COMPARATOR
EXTENSION_INSENSITIVE_REVERSE
public static final Comparator EXTENSION_INSENSITIVE_REVERSE
EXTENSION_REVERSE
public static final Comparator EXTENSION_REVERSE
EXTENSION_SYSTEM_COMPARATOR
public static final Comparator EXTENSION_SYSTEM_COMPARATOR
System sensitive extension comparator instance (see
IOCase.SYSTEM
)
EXTENSION_SYSTEM_REVERSE
public static final Comparator EXTENSION_SYSTEM_REVERSE
Reverse system sensitive path comparator instance (see
IOCase.SYSTEM
)
caseSensitivity
private final IOCase caseSensitivity
Whether the comparison is case sensitive.
ExtensionFileComparator
public ExtensionFileComparator()
Construct a case sensitive file extension comparator instance.
ExtensionFileComparator
public ExtensionFileComparator(IOCase caseSensitivity)
Construct a file extension comparator instance with the specified case-sensitivity.
caseSensitivity
- how to handle case sensitivity, null means case-sensitive
compare
public int compare(Object obj1,
Object obj2)
Compare the extensions of two files the specified case sensitivity.
obj1
- The first file to compareobj2
- The second file to compare
- 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.
Copyright (c) 2002-2008 Apache Software Foundation