org.apache.commons.io.comparator

Class NameFileComparator

public class NameFileComparator extends Object implements Comparator, Serializable

Compare the names of two files for order (see File#getName()).

This comparator can be used to sort lists or arrays of files by their name 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 name sort using the NAME_COMPARATOR singleton instance:

       List<File> list = ...
       Collections.sort(list, NameFileComparator.NAME_COMPARATOR);
 

Example of a reverse case-insensitive file name sort using the NAME_INSENSITIVE_REVERSE singleton instance:

       File[] array = ...
       Arrays.sort(array, NameFileComparator.NAME_INSENSITIVE_REVERSE);
 

Since: Commons IO 1.4

Version: $Revision: 609243 $ $Date: 2008-01-06 00:30:42 +0000 (Sun, 06 Jan 2008) $

Field Summary
static ComparatorNAME_COMPARATOR
Case-sensitive name comparator instance (see SENSITIVE)
static ComparatorNAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (see INSENSITIVE)
static ComparatorNAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (see INSENSITIVE)
static ComparatorNAME_REVERSE
Reverse case-sensitive name comparator instance (see SENSITIVE)
static ComparatorNAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (see SYSTEM)
static ComparatorNAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (see SYSTEM)
Constructor Summary
NameFileComparator()
Construct a case sensitive file name comparator instance.
NameFileComparator(IOCase caseSensitivity)
Construct a file name comparator instance with the specified case-sensitivity.
Method Summary
intcompare(Object obj1, Object obj2)
Compare the names of two files with the specified case sensitivity.

Field Detail

NAME_COMPARATOR

public static final Comparator NAME_COMPARATOR
Case-sensitive name comparator instance (see SENSITIVE)

NAME_INSENSITIVE_COMPARATOR

public static final Comparator NAME_INSENSITIVE_COMPARATOR
Case-insensitive name comparator instance (see INSENSITIVE)

NAME_INSENSITIVE_REVERSE

public static final Comparator NAME_INSENSITIVE_REVERSE
Reverse case-insensitive name comparator instance (see INSENSITIVE)

NAME_REVERSE

public static final Comparator NAME_REVERSE
Reverse case-sensitive name comparator instance (see SENSITIVE)

NAME_SYSTEM_COMPARATOR

public static final Comparator NAME_SYSTEM_COMPARATOR
System sensitive name comparator instance (see SYSTEM)

NAME_SYSTEM_REVERSE

public static final Comparator NAME_SYSTEM_REVERSE
Reverse system sensitive name comparator instance (see SYSTEM)

Constructor Detail

NameFileComparator

public NameFileComparator()
Construct a case sensitive file name comparator instance.

NameFileComparator

public NameFileComparator(IOCase caseSensitivity)
Construct a file name comparator instance with the specified case-sensitivity.

Parameters: caseSensitivity how to handle case sensitivity, null means case-sensitive

Method Detail

compare

public int compare(Object obj1, Object obj2)
Compare the names of two files with the specified case sensitivity.

Parameters: obj1 The first file to compare obj2 The second file to compare

Returns: a negative value if the first file's name is less than the second, zero if the names are the same and a positive value if the first files name is greater than the second file.

Copyright © 2002-2010 Apache Software Foundation. All Rights Reserved.